1.String:
String属于应用类型数据,翻译为:字符串
声明String类型变量时,使用一对""
String可以和8种基本数据类型变量做运算,且运算只能是连接运算:+
运算的结果仍然是String类型
char类型变量中a=97 A=65依次叠加
class StringTest {
public static void main(String[] args){
String s1 = "Hello World!";
System.out.Println(s1);
String s2 = "a";
String s3 = "";
}
}
关于进制
所有数字在计算机底层都以二进制形式存在
对于整数,有四种表示方式:
二进制(binary):0,1,满2进1,以0b或0B开头
十进制(decimal):0-9,满10进1
八进制(octal):0-7,满8进1,以数字0开头表示
十六进制(hex):0-9级A-F,满16进1,以0x或0X开头表示。此处A-F不区分大小写 如:0x21AF+1= 0x21B0
二进制:
Java整数常量默认是int类型,当用二进制定义整数时,其第32位时符号位; 当时long类型时,二进制默认占64位,第64位是符号位
二进制的整数有三种形式
原码:直接将一个数值缓存二进制数。最高位是符号位
负数的反码:是对原码按位取反,只是最高位(符号位)确定为1
附属的补码:其反码加1
计算机以二进制补码的形式保存所有的整数。
整数的源码、反码、补码都相同
负数的补码是其反码+1
2.运算符
运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。
算术运算符
赋值运算符
比较运算符(关系运算符)
逻辑运算符
位运算符
三元运算符
符号:=
当”=“两侧数据类型不一致时,可以使用自动类型转换或使用强制类型转换原则进行处理
支持连续赋值。
扩展赋值运算符:+=,-=,*=,/=,%=
比较运算符
比较运算符的结果都是boolean型,也就是要么true,要么false
比较运算符“==”不能误写成“=”
逻辑运算符
逻辑运算符都是boolean类型的变量
&—逻辑与 |—逻辑或 —逻辑非 &&—短路与 ||—短路或 ^逻辑异或
三元运算符
结构:(条件表达式)?表达式1 :表达式2
说明:
条件表达式的结果为boolean类型
根据条件表达式真或假,决定执行表达式1,还是表达式2
如果表达式为true,则执行表达式1
如果表达式为false,则执行表达式2
表达式1和表达式2要求时一致的
三元运算符可以嵌套使用
凡是可以使用三元运算符的地方,都可以改写为if—else
能用if—else的不一定能用三元运算符
运算符的优先级
运算符有不同的优先级,所有优先级就是表达式运算中的运算顺序。
只有单目运算符、三元运算符、赋值运算符时从右向左运算的。
3.程序流程控制
流程控制语句时用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑模块。
其流程控制方式才用结构化程序设计中规定的三种基本流程结构:
顺序结构:
程序从上到下逐行地执行,中间没有任何判断和跳转
分支结构:
根据条件,选择性地执行某段代码
有if…else和switch—case两种分支语句
循环结构:
根据循环条件,重复性的执行某段代码
有while、do…while、for三种循环语句