1.1🚦标识符的概念
举例说明
hsp //ok
hsp12 //ok
1hsp //错误, 数字不能开头
h-s // 错误 , 不能有 -
x h // 错误, 有空格
h$4 // ok
class //错误,class 关键字
int // 错误 ,int 是关键字
double //错误 ,double 是关键字
public //错误 ,public 是关键字
static //错误 ,static 是关键字
goto //错误, goto 是保留字
stu_name //ok
1.2🍼标识符的命名规范
1) 包名:多单词组成时所有字母都小写:aaa.bbb.ccc //比如 com.hsp.crm
2) 类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz [大驼峰] 比如: TankShotGame
3) 变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz [小 驼峰, 简称 驼峰法] 比如: tankShotGame
4) 常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ 比如 :定义一个所得税率 TAX_RATE
5) 后面我们学习到 类,包,接口,等时,我们的命名规范要这样遵守,更加详细的看文档.
1.3🍪键盘输入语句
代码实现
import java.util.Scanner; // //表示把 java.util包下的 Scanner 类导入
public class Input {
public static void main(String[] args) {
//演示接受用户的输入
//步骤
//Scanner 类 表示 简单文本扫描器,在 java.util 包
//1. 引入/导入 Scanner 类所在的包
//2. 创建 Scanner 对象 , new 创建一个对象,体会
// myScanner 就是 Scanner 类的对象
Scanner myScanner = new Scanner(System.in);
//3. 接收用户输入了, 使用 相关的方法
System.out.println("请输入名字");
//当程序执行到 next 方法时,会等待用户输入~~~
String name = myScanner.next();
System.out.println("请输入年龄:");
int age = myScanner.nextInt();
System.out.println("请输入薪水:");
double sal = myScanner.nextDouble();
System.out.println("人的信息如下");
System.out.println("名字= "+name+"年龄= "+age+"薪水= "+sal);
}
}
输出结果
特别注意
scanner是java.util这个包下面的类
next()是Scanner类的方法
2.1🍷四大进制
代码举例
//n1 二进制
int n1 = 0b1010;
//n2 10 进制
int n2 = 1010;
//n3 8 进制
int n3 = 01010;
//n4 16 进制
int n4 = 0X10101;
System.out.println("n1=" + n1);
System.out.println("n2=" + n2);
System.out.println("n3=" + n3);
System.out.println("n4=" + n4);
System.out.println(0x23A);
运行结果
进制图示
二进制转十进制
八进制转十进制
十六进制转十进制
课堂练习
// 课堂练习
// 0b110001100 转成十进制
// 02456 八进制转十进制
// 0xA45 转十进制
System.out.println(0b110001100); // 4+8+128+256 = 12+128+256=140+256=396
System.out.println(02456); // 02456 = 6*8^0+5*8^1+4*8^2+2*8^3 = 6 + 40 + 256 + 1024 = 1326
System.out.println(0xA45); // 0xA45 = 5*16^0 + 4*16^1 + 10^16^2 = 5 + 64 + 2560 = 69+2560 = 2629
输出结果
十进制转二进制
十进制转八进制
十进制转十六进制
课堂练习答案
二进制转八进制
二进制转十六进制
答案
八进制转二进制
十六进制转二进制
答案
2.2🍫位运算
代码实现
// 10
// 11
// 10
System.out.println(2&3);
// 10000000 00000000 00000000 00000010 原码
// 11111111 11111111 11111111 11111101 反码
// 11111111 11111111 11111111 11111110 补码 -2
// 00000000 00000000 00000000 00000001 ~-2的补码,也是原码
System.out.println(~-2);
// 00000000 00000000 00000000 00000010 2的补码
// 11111111 11111111 11111111 11111101 ~2的补码
// 11111111 11111111 11111111 11111100 ~2的反码
// 10000000 00000000 00000000 00000011 ~2的原码
System.out.println(~2);
输出结果
代码实现
int a = 1>>2;
int b = -1>>2; // 算术右移
int c = 1<<2;
int d = -1<<2;
int e = 1>>>2; // 无符号右移
System.out.println("a = "+a);
System.out.println("b = "+b);
System.out.println("c = "+c);
System.out.println("d = "+d);
本章作业
代码实现
// 当a%b时,a是小数时
// 公式为: a - (int)a/b *b
// -10.5%3 = -10.5-(-10)/3*3 = -10.5+9 = -1.5
// 特别注意,有小数运算,得到的结果是近似值
System.out.println(-10.5%3); // 近似值
System.out.println(-10.4%3); // 近似值
int i = 66;
System.out.println(++i+i);
运行结果
注意事项
// 当a%b时,a是小数时
// 公式为: a - (int)a/b *b
// -10.5%3 = -10.5-(-10)/3x3 = -10.5+9 = -1.5
// 特别注意,有小数运算,得到的结果是近似值
本章作业
代码实现
// String -> double
// char -> String
String s1 = "18.9";
char ch1 = 'W';
double d1 = Double.parseDouble(s1);
String s2 = ch1+"";
System.out.println("d1 = "+d1 + " s2 = "+s2);
运行结果