Java基础
变量
变量是程序的基本组成单位(类型 +名称+值)
char 是两个字节,可以表示汉子
字符
字符类型本质
字符型存储到计算机中,需要将字符对应的码值(整数)找出来,比如’a’
存储:‘a’>码值97今天>二进制==>存储
读取:存储==>97==>‘a’=>显示
字符和码值通过字符编码表规定的
ASCLL 一个字节表示,一个128个字符
Unicode(固定大小的编码,使用两个字节来表示字符,字符和汉字统一占用两个字节,浪费空间)
utf-8 大小可变,字母使用1个字节,汉字3个字节
gbk 字母使用一个字节,汉字2个字节
big5 码 繁体中文
布尔类型
boolean 不能用0||1来表示 true||false 和C++不同
类型转换
精度小的类型自动转换为精度大的数据类型
char—>int—>long—>float—>double
byte—>short—>int—>long—>float—>double
-
有多重类型数据混合计算时,将数据转换为容量最大的数据类型,再进行计算。
-
byte和char不会相互自动转换 也就是说
-
char n1 = 'a'; byte n = 10; n = n1;//错误
-
-
byte,short,char三者可以计算 在计算时首先自动转换为int 类型
强制类型转换
精度损失
int n1 = (int)1.9;
基本数据类型转String类型
//基本类型转成String类型
int a = 100;
float b = .3f;
String str1 = a + "";
String str2 = b + "";
String str3 = str1 +str2;
System.out.println(str3);
// String类型专程基本类型,基本类型的包装类调用parseXXX方法即可。
int num1 =Integer.parseInt(s1);
double num2 = Double.parseDouble(s1);
....
//字符不同
char b = s1. charAt(0);
逻辑运算符
最后输出的是boolean
短路与或和逻辑与或的区别
短路与,如果第一个条件为false,直接退出
逻辑与,如果第一个条件为false,继续判断第二个 效率低
逻辑异或 a^b 俩者不同,则为真
a&b //逻辑与。a,b同时为真,则为真
a&&b //a,b同时为真,则为真.短路与
//短路和逻辑的区别
//
a|b //逻辑或
a||b //短路或
三元运算符
条件表达式?表达式1:表达式2
条件表达式true,运算结果为表达式1
条件表达为false,运算结果为表达式2
标志符的命名规则和规范
-
java对各种变量,方法,类名等命名使用字符为标志服
-
凡是自己可以起名字的地方都叫标志符
数字不可以开头,不能使用关键字和保留字
规范
-
包名:所有字符都小写
-
类名、接口名,多单词组成时 首字母答谢
-
变量名 方法名,多单词组成时,第一个单词首字母小写,第二个单词大写
-
常量名,所有字母大写
键盘输入语句
需要接受用户输入的数据,就可以使用键盘输入语句来获取
Input.java,需要一个扫描器(对象)java.util.Scanner
Scanner scaner = nw Scanner(System.in);
int n ;
n = scaner.next();
原码,反码,补码
-
二进制的最高位是符号位:0表示整数,1表示负数
-
正数三码合一
-
负数的反码,符号位不变,其他位取反
-
负数的补码=它的反码+1,负数的反码=负数的补码-1
-
java没有无符号数,java中的数都是有符号的
-
计算机运算的时候,以补码的方式来运算的
>>>逻辑右移,也叫无符号右移,低位溢出,高位补0
没有<<<符号
do.while循环控制
先执行,再判断
do{
}
while();
Break额外细节
可以用标签指明自己推出语句块
label1:
for(int i = 0;i < 2;i++){
label2:
for(int j = 0; j<3;j++){
if(j==3)
break label1:
}
}
Continue
continue用于结束本次循环,继续执行下一次循环,也可以用label标签指明跳过那个循环
数组开辟空间
int[] arr = new int[x];
int arr[][] = new int[x][y];
char[] arr = new char[x];
char[] arr = new char[x][y];
15万+

被折叠的 条评论
为什么被折叠?



