Java数据类型
一、变量
boolean 8位 True或False false
byte 8位 -128—127 0或1 最大256个值 0
char 16位 0—65535 Unicode码 \u0000
short 16位 -32768—32767 最大65536 0
int 32位 -2147483648—2147483647 最大9223372036854775808 0
long 64位 -9223372036854775808—9223372036854775807 最大2的64次方减1 0L
float 32位 754单精度 0.0F
double 64位 754双精度 0
char cha=257;
int it='男';
int a=5,b=8;
String str=null; 不分配内存,不能调用方法
String str=""; 空值
String str=" "; 空格
String str="你好吗?";
String str=new String("我很好啊!");
声明变量实质上是分配内存,同时也规定了该变量能接受的运算
基本数据类型存储的是值,引用数据类型存储的是内存地址
基本数据类型传递的是值,引用数据类型传递的是内存地址
变量声明时必须声明类型,在作用范围内变量名必须唯一
变量应当先声明后使用,但全局变量可在任何位置声明
全局变量可在任何位置赋值,不赋值系统自动赋默认值
全局变量基本数据类型默认赋值0,引用数据类型默认赋值null
局部变量不可使用修饰符,使用前不赋值会编译出错
变量的内存不变,变量的值以最后的值为准
物极必反,最大值+1为最小值,最小值-1为最大值
方法中给全局变量重新赋值,必须去掉变量类型
局部变量与全局变量同名,用this.调用全局变量
Classbl=Boolean.TYPE;
intdb=Double.SIZE;
intit=Integer.MIN_VALUE;
intca=Character.MAX_VALUE;
int length=String.length();
二、常量
1.常量在声明时必须初始化,否则会编译出错
2.常量只能在声明时赋值一次,后面再赋值会报错
二进制 0b001,0B101
八进制 0670
十六进制 0xff,0X9F
最终 final,只需修改第一处常量的值
空值 null,可以赋值给任意类型的引用类型变量
长整型 187524L
浮点型 815.774f
布尔型 true
字符型 '男'
字符串 "好男人"
\0 空字符
\101 A
\u0042 B
\r Enter
\n 换行
\t Tab
\b Back Space
\' '
\" "
\\ \
三、引用数据类型
(一)Array 数组
String[] aArray = new String[5];
String[] bArray = {"a","b","c", "d", "e"};
String[] cArray = new String[]{"a","b","c","d","e"};
(二)Class 类
作用域 当前类 同一包 子孙类 其他package
public √ √ √ √
protected √ √ √ ×
friendly √ √ × ×
private √ × × ×
(三)Interface 接口
public interface GreatBritain { }
Java运算符
算术运算符 + - * / % a++ a--(显示变化前数值) ++a --a(显示变化后数值)
赋值运算符 =
关系运算符 == !=(支持所有数据类型,内存地址相等) > >= < <= (支持数值类型)equals(内容相等)
条件运算符 String min="你还是人吗";
min=a.equals("你还是人吗")?"我是个好人":"你是个禽兽";
逻辑运算符 ! ^(不同为真) & | && ||
位运算符 ~ ^(不同为1) & |
<<(右空补0) >>(左空补符号位) >>>>(左空补0)
Java语句
int i;
i=13;
int j=38;
int a,b;
a = 25;b = 48; //空格只是为了美化代码,增强可读性
a+b;
; //空语句什么也不执行,常用来做空循环体
while((char)System.in.read()!='a'); //输入的不是a则重新输入