java的基本数据类型大体上分为数值型,字符型,布尔型。
而整数型又包括byte,short,int,long。
整数类型 | 内存 |
---|---|
byte | 8位(-128~127) |
short | 16位(-32768~32767) |
int | 32位(-2147483648~2147483647) |
lont | 64位(太大了) |
相对于C语言的整数类型来说,多了一个byte。 表示方法也和c一样: 十进制直接表示,八进制+0,十六进制+0X或0x
浮点数有float double。
浮点数类型 | 内存 |
---|---|
float | 32位(1.4E-45~3.4028235E38) |
double | 64位 |
同样的,和C一样,java出现的小数默认都是double,如果要特定的使用float,需要在后面加上F或f。
字符型 char 16位 2字节
布尔类型用boolean定义,只有false 和true 两个值。
标识符(变量名字)可以有任意顺序的字母,下划线,和美元符号和数字构成,第一个字符不能是数字。
声明一个常量 用关键字final 还要指明类型
例如 final double p=3.1415926;
java的逻辑与有&&和&,这两个都表示逻辑与,但是&&具有短路功能,当第一个表达式的值为false的时候,则不再计算第二个表达式;&则两个表达式都执行。
int j=0;
if(j == 1 && ++j > 0 )
{
System.out.println("j = " + j);
}
if(i == 3 & ++i > 0 )
{
System.out.println("i = " + i);
}
运行以后会发现i的第一个if运行完,j的值并没有改变还是1,而第二个if运行完,j的值变为1。
隐式类型转换是从低到高,顺序为byte<short<int<long<float<double。
如果当把高精度变量赋给低精度变量时,必须使用显示类型转换 在需要转换的变量前面加类型 例如 int a=(int)45.2; 当把整数赋值给一个byte short int long 变量时,不可以超出这些变量的取值范围,否则必须进行强制转换。
读了一遍下一章的流程控制语句,和发现C语言一样,只是多了一个foreach语句,挺有意思的。 foreach语句是for语句的特殊简化版本,不能完全取代for语句,但任何foreach语句都能改写为for版本。 foreach语句在遍历数组等方面提供了极大的方便。 语法如下: for(元素变量X:遍历对象 obj) { 引用了x的java语句; }
int arr[]={7,10,1};
for(int x:arr)
{
System.out.println(x);
}
运行结果如图: