0X01 基础概念
注释
1.单行注释
//注释信息
2.多行注释
/*注释信息*/
3.文档注释
/**
*注释信息1
*注释信息2
*/
关键字
关键字全部是小写字母
public class hello{
//class用于创建/定义一个类,是一个关键字。
//hello是类名
}
字面量
字面量类型 | 说明 |
---|---|
整数类型 | 100,-120 |
小数类型 | -5.21,2.112 |
字符类型 | 用单引号括起来,内容只能有一个 |
字符串类型 | 用双引号括起来 |
布尔类型 | true,false |
空类型 | 一个特殊的值,空值,null |
public class Main{
public static void main(String[] args){
Scanner ss = ss new Scanner(System.io);
System.out.println("null");//null不能直接打印
//如果要打印null只能以字符串的形式打印
System.out.println("name"+'\t'+"age");
System.out.println("kan"+'\t'+"123");
}
}
变量
变量定义格式
数据类型 变量名 = 数据值
public class Main{
public static void main(String[] args){
int a = 10;
System.out.println(a);
}
}
变量的使用
打印输出
int a = 10;
System.out.println(a);//10
参与计算
int a = 10;
int b = 20;
System.out.println(a+b);//30
修改记录的值
int a = 10;
System.out.println(a);//10
int a = 20;
System.out.println(a);//20
注意事项
- 只能存一个值
- 变量名不允许重复定义
- 一条语句可以定义多个变量
int a = 10,b = 20,c = 30;
System.out.println(a);//10
System.out.println(b);//20
System.out.println(c);//30
- 变量在使用之前要进行赋值
int w;
System.out.printfln(w);//会报错
- 变量的作用域范围
数据类型
基本数据类型
整数和小数取值范围大小关系:
double > float > long > int > short > byte
byte q = 10;
//如果要定义long类型的变量,在数据值后面加一个L(建议用大写的)作为后缀
long w = 123456789L;
//定义float类型的变量,加一个F(大小写都可,建议用大写)作为后缀
float a = 1.2F;
double b = 3.4;
//boolean 类型只有两种 true和 false
boolean d = true;
引用数据类型
标识符
- 由数字、字母、下划线和美元符组成
- 不能以数字开头
- 不能是关键字
- 区分大小写
键盘录入
Scanner类可以接收键盘输入的数字
//导包
import java.util.Scanner;
//创建对象
Scanner ss = new Scanner(System.in);//只有sc是变量名,可以变,其他的均不能变
//接收数据
int a = ss.nextInt();
0X02 运算符
算数运算符
+ - * / %
数值拆分
个位:数值 % 10
十位:数值 / 10 % 10
百位:数值 / 100 % 10
隐式转换和强制转换
隐式转换(自动类型提升)
取值范围小的数值变为取值范围大的数值
取值范围由小到大:byte < short < int < long < float < double
int a = 10;
double b = a;//double的取值范围大于int 所以不会报错
隐式转换的两种提升规则:
1.取值范围小的数值和取值范围大的数值进行运算,小的会先提升为大的,再进行运算。
2.byte、short、char三种类型的数据在运算的时候,都会直接先提升为int,然后再进行运算。
byte a = 10;
byte b = 20;
c = a + b; //此时c为int类型
强制转换
取值范围大的数值变为取值范围小的数值。但通常是不允许直接赋值的。必须加入强制转换。
byte a = 10;
byte b = 20;
byte r = (byte)(a + b);//此时r本是Int类型但是题目中需要转为byte类型,因此需要使用强制类型转换
字符串和字符的加操作
字符串连续进行 “ + ” 操作时,从左到右逐个执行。
int age = 18;
System.out.println("我的年龄是"+ age + "岁" );//我的年龄是18岁
Syestem.out.println("我的年龄是"+"age"+"岁");//我的年龄是age岁
System.out.println(1 + 2 + "abc" + 2 + 1);//3abc21
//从左至右,1,2先进行+操作等于3,再和abc拼接,得到3abc,然后依次和2,1进行拼接,最终得到3abc21
ascii表
A --> 65 a --> 97
System.out.println(1 + 'a'); //98
System.out.println('a' + 'abc');//"aabc"
自增自减运算符
++ --
- 加加和减减无论是放在变量的前面还是后面,单独写一行结果是一样的
a++;
++a;//效果一样
- 参与计算
int a = 10;
int b = a++;//先使用后++ b = 10
int c = ++a;//先++后使用 c = 11
赋值运算符
= += -= *= /= == !=
逻辑运算符
& | ^ !
三元运算符
关系表达式 ? 表达式1 : 表达式2