标识符

标识符的命名规则

  1. 由26个英文字母大小写,数字0-9,_或$组成
  2. 数字不可以开头。
  3. 不可以使用关键字和保留字,但能包含关键字和保留字
  4. Java中严格区分大小写,长度无限制。
  5. 标识符不能包含空格。

标识符命名规范

  1. 包名:多单词组成时所有字母都小写:aaa.bbb.ccc
  2. 类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyy(大驼峰命名法)例如:TankShot
  3. 变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyy(小驼峰命名法)
  4. 常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ

关键字

用于定义数据类型的关键字
class interface enum byte short
int long float double char
boolean void

用于定义数据类型值的关键字
true false null
用于定义流程控制的关键字
if else switch case default
while do for break continue
return

保留字

现有Java版本尚未使用,但以后版本可能会作为关键字使用。自己命名标识符时要避免使用这些保留字

byValue、cast、future、generic、inner、operator、outer、rest、var、goto、const

键盘输入语句

  • 介绍

在编程中,需要接收用户输入的数据,就可以使用键盘输入语句来获取。需要一个扫描器(对象),就是Scanner

  • 步骤
  1. 导入该类的所在包,java.util.*
  2. 创建该类对象(声明变量)
  3. 调用里面的功能
import java.util.Scanner; // 表示把java.util下的Scanner类导入
public class Input 
{
	public static void main(String[] args) 
	{
		Scanner myScanner = new Scanner(System.in); // 创建Scanner 对象,new 创建一个对象
		System.out.print("请输入名字:");
		String name = myScanner.next();  // 接收用户输入
		System.out.print("请输入年龄:");
		int age = myScanner.nextInt();  // 接收用户输入
		System.out.print("请输入薪水:");
		double sal = myScanner.nextDouble();  // 接收用户输入
		System.out.println("人的信息如下");
		System.out.println("姓名:"+name+"\t"+"年龄:"+"\t"+age+"薪水:"+sal);
		
	}
}

进制

对于整数,有四种介绍方式:

  1. 二进制:0,1,满2进1 以0b或0B开头。
  2. 十进制:0-9,满10进1
  3. 八进制:0-7,满8进1 以数字0开头表示
  4. 十六进制:0-9及A(10)-F(15),满16进1 以0x或者0X开头表示。此处A-F不区分大小写

原码、反码、补码

  1. 二进制最高位是符号位:0表示整数,1表示负数
  2. 正数的原码,反码,补码都一样(三码合一)
  3. 负数的反码=它原码的符号位不变,其他位取反
  4. 负数的补码=它的反码+1,负数的反码=负数的补码-1
  5. 0的反码、补码都为0
  6. Java没有无符号数
  7. 在计算机运算的时候,都是以补码的方式来运算的
  8. 当我们看运算结果时,要看他的原码。
public class TernaryOperatorDetail 
{
	public static void main(String[] args) 
	{
		//1. 2的原码反码补码一致:00000000 00000000 00000000 00000010   int占4个字节,一个字节8个bit
		//2. 3的补码反码原码 00000000 00000000 00000000 00000011
		//3. 按位与:
		//  00000000 00000000 00000000 00000010
		//  00000000 00000000 00000000 00000011
		//  00000000 00000000 00000000 00000010   这是按位与之后的补码,计算机输出为原码
		// 由于运算后符号位为0,是整数,故输出值原码反码补码统一
		System.out.println(2&3);  //  2

        
        // 1. -2的原码 10000000 00000000 00000000 00000010
		// 2. -2的反码 11111111 11111111 11111111 11111101  // 符号位不变,其他位取反
		// 3. -2的补码 11111111 11111111 11111111 11111110
		// 4. ~-2值为  00000000 00000000 00000000 00000001
		// 5. 计算机输出值是原码形式,由于~-2是正数,故正数原码补码反码都一样
		System.out.println(~-2); // 1

        //1. 2的补码 00000000 00000000 00000000 00000010
		//2. ~2的值  11111111 11111111 11111111 11111101  运算后的补码
		//3. 运算后的反码 11111111 11111111 11111111 11111100  补码-1得到反码
		//4. 运算后得原码 10000000 00000000 00000000 00000011 符号位不变,其他位取反
		System.out.println(~2); // -3

	}
}

位运算符

>>、<<和>>>运算规则:

  1. 算术右移 >>:低位溢出(丢弃),符号位不变,并用符号位补溢出的高位,如:a >>3,其本质是a/2/2/2,即:a >> b => \frac{a}{2^{b}}
  2. 算术左移 <<:符号位不变,低位补0,如:a << b,即为:a\cdot 2^{b}
  3. >>> 逻辑右移也叫无符号右移,运算规则是:低位溢出,高位补0
  4. 特别说明:没有 <<< 符号
Logo

鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。

更多推荐