NO2.Java学习笔记
Java语言是纯粹的面向对象的程序设计语言,三种基本特征:
结构化开发方法和面向对象开发方法,面向对象提供更好的可重用性、可扩展性和可维护性。
程序设计的三种基本结构:顺序结构、选择结构、循环结构。
一.【关键字】:被java赋予了特殊含义的单词,例如,class、public、interface 、int 等。特点:所有字母都是小写
二.【类名】:首字母大写(规范,利于阅读)
三.【标识符】:由26个字母、数字、下划线、美元符合组成。数字不可以开头,不可以使用关键字。Java严格区分大小写,名字最好能见名知道意,增强可阅读性。
规范:1.包名:多单词组成时,所有字母小写。
2.类名、接口名:多单词组成时,所有单词的首字母大写。
3.变量名、函数名:多单词组成时,第一个单词首字母小写,第二个单词开始首字母大写。例如,getAge() setAge(int age)。
4.常量名:所有字母都大写。多个单词用下划线连接。例如AAA_BBB_CCC。
四.【注释】:解释:用于注解说明程序的文字,不需要程序编译执行。
单行注释://;
多行注释:/* 程序代码 */
文档注释:/** */ javadoc.exe 提取java文档中的文档注释,生成程序说明书。
注释最好不要嵌套。
五.【常量与变量】:常量是不可以改变的数据。变量是可以改变的数据,内存中的一个存储区域,该区域有自己的名称(变量名)和类型(数据类型),该区域的数据可以在同一类型范围内不断变化。
初始化:int a=10; 数据类型 变量名=变量值;
六.【数据类型】:
整数:[byte(8位) ,short(16位),默认int(32位),long(64位)];
浮点型[float(32位),默认double(64位)],
布尔(boolean)型常量(true false),
char字符常量(‘a’),
String字符串常量(”aaa“),
null常量(只有一个数值null)。 ”a“是字符串,‘a’是字符,”aaa“是字符串。
类:class
接口:interface
数组:[]
小数2.5默认为double类型,float f=2.6;出现损失精度。
七.【进制】对于整数:二进制,十进制;
八进制0开头,十六进制0x。
负数的二进制:6=》00000000 00000000 0000000 00000110
整数的二进制取反加1
-6=》11111111 11111111 11111111 11111010
正数的最高位是0;负数的最高为是1;
Integer.toBinaryString(6) 显示 110
注意:自动类型精度提升
byte b=8; 8位 自动判断8是否在byte范围内。
b=b+12; 默认32位 低精度=高精度 精度损失
b=(byte)(b+12); 强制类型转换
b=(byte)b+12; 同样会损失精度
System.out.println('a'+1); 显示98,字符16位,ASCII编码表 97:a 98:b 65:A
System.out.println((char)('a'+1)); 显示b
NO3.Java学习笔记(运算符、转义字符)
八.运算符
1、算术运算符:+加 -减 *乘 /除 %取模 ++自增(前后) --自减(前后)int a=1;int b=a++;得出a=2,b=1;如果是int a=1;int b=++a;得出a=2,b=2;
2、赋值运算符:= += -= *= /= %= a+=5(a=a+5);
3、比较运算符:> < >= <= != 结果值是boolean值
4、 逻辑运算符:&&与 ||或 !非 & | ^异或
字符串数据和任何数据使用(+)运算符都是相连接,最终都会变成字符串。
System.out.println("3+5="+5+5); 结果:3+5=55
/**
&和&&的特点:
&:无论左边是ture还是false,右边都运算。
&&:如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。
其他的同理?为何?
*/
4、位运算符号 :直接对二进制运算的。
>>右移n位 除于 x进制的n次幂
<<左移 乘于 除于 x进制的n次幂
两个,最高为根据原有数据的最高为来决定,如果最高位为0,右移后,用0补空位;如果最高位为1,右移后,用1补空位。
>>> 无符号右移,无论最高为0还是1,都用0来补空位的。
&与运算:System.out.println(6&3);结果2。 110&011
通过与的方式,可以获取某个数字的最低几位数字。01110111 & 00001111 可以取得前一个数字的后四位。
| 或运算:System.out.println(6|3);结果7;111.
^异或运算:一个数异或同一个数两次还是那个数。
int m=3,n=9;
System.out.println("m="+m+",n="+n);
//1.通过第三方变量来交换两个数的值。
int temp;
temp=m;
m=n;
n=temp;
System.out.println("m="+m+",n="+n);
//2.不通过第三方变量。如果m和n的值非常大,超出int的范围。
n=n+m;
m=n-m;
n=n-m;
System.out.println("m="+m+",n="+n);
//3.
n=n^m;
m=n^m; //(n^m)^m
n=n^m; //n^(n^m)
System.out.println("m="+m+",n="+n);
~反码 ~6 0000……00110 = 6
1111……11001 = -7
0000……00001
1111……11000
0000……00111 -7
二、【转义字符】:可以通过\ 来转变后面字母或者符号的含义。
\n:换行
\b:退格
\r:按下回车键。Windows系统中,回车符是由两个高字符表示\r\n。
\t:制表符。相当于tab键。
System.out.println("\"hello\"");显示"hello"
System.out.println("\\hello\\");显示\hello\
char ch='\n';
char ch='\'';
char ch='你'; //汉字两个字节 char也是两个字节
【三元运算符】:(x>y)?A:b;