韩顺平零基础学JAVA80-100集学习笔记

JAVA20231124

081082083标识符的命名规则和规范(背下来)

  • 标识符概念

    1. JAVA对各种变量、方法和类等命名时使用的字符序列称为标识符
    2. 凡是自己可以起名字的地方都叫标识符 int num1 = 90;
  • 标识符的命名规则(必须遵守)

    1. 由26个英文字母大小写,0-9,_或$组成
    2. 数字不可以开头。例如: int 3ab = 1;//错误
    3. 不可以使用关键字和保留字,但能包含关键字和保留字//int class = 10;错误! int abcclass = 10;正确!
    4. Java中严格区分大小写,长度无限制。//int totalNum = 10; int n = 90;
    5. 标识符不能包含空格。//int a空格b = 90;错误!

    判断下列变量名是否正确:

    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. 包名:多单词组成时所有字母都小写:aaa.bbb.ccc//比如com.hsp.crm
    2. 类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz[大驼峰]比如:TankShotGame
    3. 变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz[小驼峰,简称驼峰法]比如:tankShotGame
    4. 常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ比如:定义一个所得税率TAX_RATE
    5. 后面我们学习到类、包、接口、等时我们的命名规范要这样遵守,更加详细的看文档

附:标识符命名规范文档文件《JAVA代码规范》

084关键字

  • 定义
    被Java语言赋予了特殊含义,用做专门用途的字符串

  • 特点
    关键字中所有字母都为小写

  • 常用的关键字

    请添加图片描述

    请添加图片描述

084保留字

  • 介绍
    Java保留字:现有Java版本尚未使用,但以后版本可能会作为关键字使用。自己命名标识符时要避免使用这些保留字:byValue、cast、future、generic、inner、operator、outer、rest、var、goto、const

085键盘输入语句

  • 介绍

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

  • 步骤

    1. 导入该类的所在包,java.util.*
    2. 创建该类对象(声明变量)
    3. 调用里面的功能
  • 案例演示:
    要求:可以从控制台接受用户信息【姓名,年龄,薪资】
    请添加图片描述

086087088089090091092093094095096进制

  • 进制介绍
    对于整数,有四种表达方式:

    二进制:0,1 满2进1 以0b或0B开头

    十进制:0-9 满10进1

    八进制:0-7 满8进1 以数字0开头表示

    十六进制:0-9及A(10)-F(15),满16进1,10(16) 以0x或0X开头表示。此处的A-F不区分大小写

  • 举例说明

    //演示四种进制
    public class BinaryTest{
    	public static void main(String[] args){
    
    		//n1二进制
    		int n1 = 0b1010;
    		//n2 十进制
    		int n2 = 1010;
    		//n3 八进制
    		int n3 = 01010;
    		//n4十六进制
    		int n4 = 0x1010;
    		System.out.println("n1 =" + n1);
    		System.out.println("n2 =" + n2);
    		System.out.println("n3 =" + n3);
    		System.out.println("n4 =" + n4);
    	}
    }
    

    运行结果:

    请添加图片描述

  • 进制图示

    请添加图片描述

    请添加图片描述

  • 进制转换

    1. 非十进制转十进制

      • 二进制转十进制
        规则:从最低位(右边)开始,将每个位上的数提取出来,乘以2的 (位数-1)次方,然后求和。
      • 八进制转十进制
        规则:从最低位(右边)开始,将每个位上的数提取出来,乘以8的 (位数-1)次方,然后求和。
      • 十六进制转十进制
        规则:从最低位(右边)开始,将每个位上的数提取出来,乘以16的 (位数-1)次方,然后求和。
      • 课堂练习(将下列非十进制数转换为十进制)
        0b1011 = 1+2+8 =11
        oB110001100 = 4+8+128+256 = 396
        0234 = 4+3 * 8 + 2 * 64 = 156
        02456 = 6+5 * 8 + 4 * 64 + 2 * 512 = 1328
        0x23A = 10+3 * 16 + 2 * 256 = 570
        0XA45 = 5+4 * 16+ 10 * 256 = 2629
    2. 十进制转非十进制

      • 十进制转二进制
        规则:将该数不断除以2,直到商为0为止,然后将每步得到的余数倒过来,就是对应的二进制。

      • 十进制转八进制

        规则:将该数不断除以8,直到商为0为止,然后将每步得到的余数倒过来,就是对应的八进制。

      • 十进制转十六进制
        规则:将该数不断除以16,直到商为0为止,然后将每步得到的余数倒过来,就是对应的十六进制。

      • 课堂练习(将十进制转非十进制)
        34转二进制:请添加图片描述

        123转二进制:请添加图片描述

        131转八进制:请添加图片描述

        678转八进制:
        请添加图片描述

        237转十六进制:
        请添加图片描述

        8912转十六进制:

        请添加图片描述

    3. 二进制转八进制、十六进制

      • 二进制转八进制
        规则:从低位开始,将二进制每三位一组,转成对应的八进制数即可。
      • 二进制转十六进制
        规则:从低位开始,将二进制每四位一组,转成对应的十六进制数即可。
      • 课堂练习
        0b11010101(二转八)—>0b11(3)010(2)101(5)->0325
        0b11100101(二转八)—>0b11(3)100(4)101(5)—>0345
        0b11010101(二转十六)—>0b1101(13)0101(5)—>0xD5
        0b1110010110(二转十六)—>0b11(3)1001(9)0110(6)—>0x396
    4. 八进制转二进制

      • 规则:将八进制数每1位,转成对应的一个3位的二进制数即可
      • 课堂练习
        0237(八转二)—>02(010)3(011)7(111)—>0b010011111
        01230(八转二)—>01(001)2(010)3(011)0(000)—>0b001010011000
    5. 十六进制转二进制

      • 规则:将十六进制数每一位,转成对应的一个4位的二进制数即可
      • 课堂练习
        0x23B(十六转二)—>0x2(0010)3(0011)B(1011)—>0b001000111011
        0xAB29(十六转二)—>0xA(1010)B(1011)2(0010)9(1001)—>0b1010101100101001

098二进制在运算中的说明

  1. 二进制是逢2进位的进位制,0、1是基本算符
  2. 现代的电子计算机技术全部采用的是二进制,因为它只使用0、1两个数字符号,非常简单方便,易于用电子方式实现。计算机内部处理的信息,都是采用二进制数来表示的。二进制(Binary)数用0和1两个数字及其组合来表示任何数。进位规则是“逢2进1”,数字1在不同的位上代表不同的值,按从右至左的次序,这个值以二倍递增。

098原码、反码、补码

精简为几句话,对于有符号的而言(背下来):

  1. 二进制的最高位是符号位:0表示正数,1表示负数(口诀:0->0 1->-)
  2. 正数的原码,反码,补码都一样(三码合一)
  3. 负数的反码 = 它的原码符号位不变,其他位取反
  4. 负数的补码 = 它的反码+1,负数的反码 = 负数的补码-1
  5. 0的反码,补码都为0
  6. Java没有无符号数,换言之,Java中的数都是有符号的
  7. 在计算机运行的时候,都是以补码的方式来运算的
  8. 当我们看运算结果的时候,要看他的原码(重点)

0990100位运算

  • Java中有7个位运算(&、|、^、~、>>、<<、和 >>>)

    分别是按位与&、按位或|、按位异或^、按位取反~,它们的运算规则是:

    1. 按位与&:两位全为1,结果为1,否则为0

    2. 按位或|:两位有一个为1,结果为1,否则为0

    3. 按位异或^:两位一个为0,一个为1,结果为1,否则为0

    4. 按位取反~:0->1,1->0

    5. 算术右移>>:低位溢出,符号位不变,并用符号位补溢出的高位
      //int a=1>>2; //1 => 00000001 => 00000000 本质 1 / 2 / 2 = 0

    6. 算数左移<<:符号位不变,低位补0
      //int c=1<<2; //1 => 00000001 => 00000100 本质 1 * 2 * 2 = 4

    7. ()>>>逻辑右移也叫无符号右移,运算规则是:低位溢出,高位补0
      特别说明:没有<<<符号

  • 随堂练习

    2&3= ~-2= ~2= 2|3= 2^3= int a = 1>>2; int b = 1<<2;

    4<<3 15>>2

    在计算机运行的时候,都是以补码的方式来运算的
    当我们看运算结果的时候,要看他的原码(重点)

    请添加图片描述

    请添加图片描述

    请添加图片描述

097位运算的思考题

  • 请看下面的代码段,回答a,b,c,d,e结果是多少?

    public static void maiin(String []args)
    {
    int a=1>>2; // 1 向右位移 2 位
    int b=-1>>2;//算术右移
    int c=1<<2;//算术左移
    int d=-1<<2;//
    int e=3>>>2;//无符号右移
    //a,b,c,d,e 结果是多少
    System.out.println("a="+a);
    System.out.println("b="+b);
    System.out.println("c="+c);
    System.out.println("d="+d);
    System.out.println("e="+e);
    }
    
  • 请回答在java中,下面表达式运算结果是:(位运算)

    ~2=? // 按位取反
    2&3=?// 2 按位与 3
    2|3=? ~-5=?
    13&7=?
    5|4=?
    -3^3=?//^ 按位异
    
  • 14
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值