java se 格式_[Java教程]JavaSE复习_1 Java的基本格式和运算符

[Java教程]JavaSE复习_1 Java的基本格式和运算符

0

2016-06-11 00:00:04

△.代表在当前目录.classpath能在任何路径下访问类文件.

△单行注释可以嵌套,多行注释不能嵌套

△java中的标识符只能有数字,字母,$和_,其他的符号都是错误的,不合法的.其中数字不能是开头.

△快捷打开命令窗口.按住shift,右键此处打开命令窗口.

△跨平台原理:只要在需要运行java应用程序的操作系统上,先安装一个Java虚拟机(JVM Java Virtual Machine)即可。由JVM来负责Java程序在该系统中的运行。

△字符常量:''单引号中必须放的是单个数字(0~9),10代表的是2个字符.''不放字符也不可以.

△计算机内部以源码的形式存储,在运算的时候以补码的形式去运算.

△java中,除了char和boolean其他数据类型都是从负数开始取到正数,如int -2^31~2^31 byte:-128~127

char占两个字节:0~65535,boolean没有明确指定大小.(sun官方文档),float占四个字节,double占8个字节.

△>>>运算符将用0填充高位,而>>用符号位填充高位.在对于整数进行移位运算符的操作的时候,需要对移位运算符右侧的参数进行模以32的运算.例如:1<<35和1<<3和8是相同的.

△整数默认的类型是int类型,因此不能直接用long x=999999999;这样会显示数据类型错误(out of range).需要long x=9999999999l才可以.标识最好加L.

△小数的默认类型是double类型.因此如果float f=1.32;会直接报错.显示可能会损失精度.需要标识float f=3.12f;

△输出一个整数除以0的数值将会报错ArithMeticException异常.但是用浮点数除以0则不会报异常,会得到NAN或者Infinity.

△byte b=2;不会出现和float/double一样的错误,这是因为整数类型(常量在编译的时候就能确定了.但是如果是变量的话另当别论(short同理).如:

byte b=3+4;          //编译时已经确定,不会报错.直接数字相加直接转换为byte.注意!!float不同.

byte b1=3;

byte b2=4;

b=b1+b2;          //报错,两个byte变量相加会直接转化为int.java编译器有常量优化机制.

另外:

int x=32;

byte b=32;

b=b+x;

System.out.println(b);     //编译错误.这是因为b+x后转化为了int字节.再转换为byte会出现错误.

△小的数据类型在和大的数据类型运算时会补成大的数据类型.

△byte b=1;b+=1;//编译通过,隐藏了一个类型的转换,b++同理,不会报错.而b=b+1;则是将int类型转换为byte类型,会报错(Can not convert from int to byte)

byte b=(byte)129;会得到负数.因为截断.

而byte b=(byte)300;不会得到负数,因为300>256,因此最高位是0

△float f=123l; //编译成功,因为float比long大.因此倒过来也是不对的. float使用ieee754格式存储。只有24位精度,两个float之间的距离可能很大。

举个简单的例子,2000000000和2000000050用float表示的话这两个数是相同的 。

整数是精确表示的。0位代表符号位,8位代表指数位,23位代表尾数位.

△System.out.println('a'+1);     //输出98.因为在转换为int

System.out.println("hello"+'a'+1)//输出helloa1

System.out.println('a'+1+"hello")//输出98hello

△System.out.println((float)(10/3))//输出3.0,因为10/3已经事先算好

△当两个数值进行想加的操作的时候,先将两个操作数转化为同一种类型,再进行计算.

如果两个操作数中有一个是double类型,另一个操作数会转化为double类型.

否则,如果有一个是float类型,另一个操作数会被转化为float类型.

否则,如果有一个是long类型,另一个操作数将会被转化为long类型.

否则,两个操作数均被转化为int类型(终点).△Math.round方法方法代表对浮点数采用最接近的整数的舍入运算.如果参数是double类型,返回long.如果参数是float类型,返回int.

△常见的结合性从右向左的运算符:+=,-=,*=,/=,=.对于这类运算符,从右向左进行计算.a+=b+=c等价于a+=(b+=c).

△异或^:两边相同就是false两边不同则为true,&&是短路的,同时单与也有位运算符的作用.

△if语句和三元运算符的区别,a?b:c;三元运算符的b和c必须要要有明确的结果,因为三元运算符是运算符,要有明确的结果.

if(x<2)

int z=3;//错误.因为int z=3;实际上是两个语句.

△switch(表达式){

case 语句:语句1;

break;

}

在switch括号内的表达式byte,short,char,int 枚举(jse 1.5),字符串(jse 1.7).

case一旦成功匹配,其后的语句都不在判断.default:即使放在任意位置,也是最后去执行.

int x =4; switch(x ) { case 1:System.out.println("a"); case 2:System.out.println("c"); case 3:System.out.println("b"); default:System.out.println("d"); }

此时输出d.当default在最后面时,没有break也可以正常结束.

当default在最前面时,执行完default后,会继续向下.直到碰到break或者大括号

case 1:

case 2:

case 3:

语句;

这样的格式也是可行的.

△break可以带标签:

U: for( int x=0; x<=4; x++) { for( int y=0; y<=3; y++) { if( y==2) break U; System. out.println( "x="+ x+ ",y="+ y); } }

实际上带break的标签可以用在if语句中,跳出if语句块.

还有带标签的continue语句,其作用与break近似.

△静态导入:将类导入,以便使用类中的静态方法或者静态变量,如:import static java.lang.math.*;

△UTF-8一个中文三个字节,GBK码表一个中文两个字节.

本文网址:http://www.shaoqun.com/a/231045.html

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:admin@shaoqun.com。

JAVA

0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值