01.变量与标识符:
- 变量:指没有固定的值,可以改变的数,以非数字的符号表示;系统为程序分配的一块内存单元,用来存储各种类型的数据;根据所存储的数据类型的不同,有各种不同类型的变量;
- 分类:
2.1 按数据类型分:基本数据类型变量、引用数据类型变量;
2.2 按被声明的位置分:局部变量(方法或语句块内部定义的变量)、成员变量(方法外部、类的内部定义的变量);
public class Test {
int a=20;
public static void main(String[] args) {
int num=10;
int 奋奋=20;
byte b=10;
short s=10;
int i=10;
long l=100L;
float f=10.98F;
double d=10.9876D;
char c="A";
boolean t=true;
b=20;
char c2=97;
}
}
- 标识符:包、类、方法、参数和变量等要素命名时使用的字符序列;
- 命名规则:
4.1 由字母、数字、下划线、美元符号开头组成;
4.2 不能以数字开头;
4.3 区分大小;
4.4 长度无限制;
4.5 不能是关键词和保留关键字;
4.6 命名习惯:驼峰命名法、见名知意,以单词或单词组合来命名。
02.八种基本数据类型
- 字节(Byte):计算机文件大小的基本单位;
1.1 1字节(Byte)=8位(Bit);
1.2 单位换算:1byte=8bit,1KB=1024byte,1MB=1024KB,1GB=1024MB,1GB=1024MB,1TB=1024GB,1PB=1024TB;
1.3 在内存计算过程中,字节少的数据运算速度更快;在硬盘存储中,字节少的数据类型也可充分存入更多的数据;
- 八种基本数据类型:
2.1 四种整数类型(byte、short、int、long):
byte:8 位,用于表示最小数据单位,如文件中数据,-128~127;
short:16 位,很少用,-32768 ~ 32767;
int:32 位、最常用,-231-1~231 (21 亿);
long:64 位、次常用
2.2 两种浮点数类型(float、double):
float:32 位,后缀 F 或 f,1 位符号位,8 位指数,23 位有效尾数;
double:64 位,最常用,后缀 D 或 d,1 位符号位,11 位指数,52 位有效尾;
2.3 一种字符类型(char):
char:16 位,是整数类型,用单引号括起来的 1 个字符(可以是一个中文字符),使用 Unicode 码代表字符,0~2^16-1(65535)。
03.进制与转换
- 进制:通常有十进制、二进制、八进制、十六进制;
- 补码:计算机内的二进制数值是以补码形式表示的;
2.1 正数:原反补相同;
2.2 负数:绝对值的二进制形式,按位取反加1。
04.基本数据类型转换
- 自动转换:容量小的类型自动转换成容量大的类型;
- 强制类型转换:容量大的类型转换成容量小的数据类型时,要加上强制转换符,有可能造成精度降低或数据溢出,使用时小心。
05.关键字和转义字符
- 关键字:关键字是电脑语言里事先定义的,有特别意义的标识符,有时又叫保留字,还有特别意义的变量;对Java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等,关键字不能用作变量名、方法名、类名、包名和参数;
- 转义字符:定义了一些字母前加""来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了。
06.算数赋值关系运算符
- 算术运算符:+,-,*,/,%(取余),++(自增),- -(自减);
- 赋值运算符:=,+=,-=,*=,/=,%=;
- 逻辑运算符:&,|,^(异或,两边相同为false,不同为true),!,&&,||;
- 位运算符:对两个操作数中的每一个二进制位都进行计算;
- 位移运算符:左移:<<,最低位空出的补0;带符号右移:最高位空出的补符号位;无符号右移:最高位空出的补0;
- 三目运算符:X ?Y:Z,X为true,则输出Y;否则,输出Z;
- 运算符优先级:
07.分支语句
- if条件判断结构:根据条件判断后再处理;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.println("请输入一个字母:");
int c=input.nextInt();
if(c>=65&&c<=90){
System.out.println("输入的是一个大写字母:"+(char) c);
}else{
System.out.println("输入的是一个小写字母:"+(char) c);
}
System.out.println("请输入年份:");
int year=input.nextInt();
if((year%4==0&&year%100!=0)||year%400==0){
System.out.println("是闰年");
}else{
System.out.println("是平年");
}
}
}
- switch语句:必须加break;
- 循环语句:while,do while,for;
3.1 while 先判断再执行;
3.2 do while 先执行再判断,至少执行一次;
3.3 for 循环有六种写法:continue,跳过当前循环进入下一次循环;
- 多重循环:
public class Test {
public static void main(String[] args) {
for(int i=1;i<=5;i++){
for(int j=1;j<=i;j++){
System.out.print("*");
}
System.out.println();
}
for(int i=1;i<=9;i++){
for(int j=1;j<=i;j++){
System.out.print(j+"*"+i+"="+(i*j)+"\t");
}
System.out.println();
}
}
}