java中的TRUE和false不可以用1和0代替
java各整数类型有固定的表数范围和字段长度,而不受具体操作系统的影响,以保证java程序的可移植性。
32位和64位,处理器和数据总线。因为对于有些编程语言,他们定义的int在不同机器上,实际的长度有可能不一致,那样就导致了程序的移植问题。
java语言整型常量的三种表示形式:
十进制
八进制,要求以0开头,如012
十六进制,要求0x或0X开头,如0X12
java语言的整型常量默认为int型,如int i=3
int i = 1L; 错误的写法,编译时报可能损失精度错误
java字符采用的unicode编码
char型数据用来表示通常意义上的“字符”
字符常量是用单引号括起来的单个字符
char c = ‘A’
java字符采用Unicode编码,每个字符占两个字节。因而可以用十六进制编码形式表示(前缀u表示unicode编码,如char c=‘\u0061’,该字符表示字母a)
char c = 20013;中文的'中'字在unicode的编码的十进制表示为20013;System.out.println(c);能够打印出‘中’字。
java语言中还允许使用转义字符‘\’来将其后的字符转变为其他的含义,char c = ‘\n’,代表换行符。
gb2312<gbk<GB18030,各种中文编码的差异在于收入的字符数的多少。GB18030还包含了其他民族的文字。
在讲解编码问题时,想到将文档传给别国人员浏览时,需要注意编码的问题,在以后的工作中应该注意。
java的浮点数默认为double类型的。示例代码:
double d = 12;System.out.println(d);//打印结果为12.0
float f = 12.5; System.out.println(f);//编译报错,因为12.5默认是double类型的。应修改为:
float f = 12.5f;
float表示的范围比int大,但精度不如int,float表示的只是近似值,在0和1之间的数都是无穷的,所以它只能是近似的表示方法。
>>>表示算术移位
注意:int a = 4/5*5;结果为0
闰年的判断规则:
公历纪年法中,能被4整除的大多是闰年,能被100整除而不能被400整除的年份不是闰年,能被3200整除的
也不是闰年,如1900不是闰年,200年是闰年,3200年不是闰年。
示例代码:
import java.io.*; class RunNian{ public static void main(String[] args){ String str = null; BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); while(true){ try{ System.out.println("请输入一个正整数"); str = br.readLine(); }catch(Exception e){ System.out.println("输入异常"); } int year = Integer.parseInt(str); if(year%4==0){ if((year % 100==0) & (year % 400==0)){ if(year%3200==0){ System.out.println("不是闰年"); continue; } else{ System.out.println("是闰年"); continue; } } System.out.println("是闰年"); } else System.out.println("不是闰年"); } } }
感觉我的判断方法还是有些烦,我是正过来思考问题,对满足条件的输入做进一步的判断验证,下面的方法更好些吧(逆过来思考方式)。
if(year%3200==0){ System.out.println("not leap year"); }else if(year%400==0){ System.out.println("is leap year"); }else if(year%100==0){ System.out.println("not leap year"); }else if(year%4==0){ System.out.println("is leap year"); }
代码二:
打印输出输入的数字的各位:
int num = 2143; int t1 = 2143/1000; //算出千位 int t2 = (num % 1000)/100;//算出百位 int t3 = (num % 100)/10;//算出十位 int t4 = (num % 10);//算出个位
需要考虑的问题:对于不定位数的数字,如何计算?
答:可以针对在控制台输入的字符串的长度,即可获知数字的位数,利用循环。
判读一个数是否为偶数:
将该数与1做与运算,结果为1则为奇数,结果为0则为偶数。
linux下的权限,分为读,写,执行,分别对应421;7(111)表示读,写,执行权限都具备。
chmod命令可以通过指定具体的数字来表明权限。
使用按位与操作即可获得权限值。