关键字、标识符、注释、常量、变量

目录

关键字(共50个)

标识符(自己起的名字)

注释(解释说明的文字)

常量

进制(逢X进一)

变量

作用域


关键字(共50个)

被Java语言赋予特殊含义的关键字

特点:字母全部小写

goto const 作为保留字存在,目前并不使用,可能其他语言有

用于定义数据类型的关键字
classinterfacebyteshortint
longfloatdoublecharboolean
void
用于定义数据类型值的关键字
truefalsenull
用于定义流程控制的关键字
ifelseswitchcasedefault
whiledoforbreakcontinue
return
用于定义访问权限修饰符的关键字
privateprotectedpublic
用于定义类、函数、变量修饰符的关键字
abstractfinalstaticsynchronized
用于定义类与类之间关系的关键字
extendsimplements
用于定义建立实例及引用实例,判断实例的关键字
newthissuperinstanceof
用于异常处理的关键字
trycatchfinallythrowthrows
用于包的关键字
packageimport
其他修饰符关键字
nativestrictfptransientassert


标识符(自己起的名字)

给类、接口、方法、变量等起名字时使用的字符序列

组成:数字、字母、_、$(不能数字开头、不能关键字、区分大小写)

例如:int _intValue123$;

命名规则:驼峰命名法

包命名:以包来组织Java中的类;为防类命名冲突,一个包不可以定义同名的类,不同包可以定义同名类 为了保证包名唯一,以域名(可以是虚拟域名)反转的形式来命名包:baidu.com -> com.baidu.name

单级包:一个全部小写的单词  test

多级包:以域名反转的形式来命名,单词之间以.分割  com.baidu.name

类和接口命名

单个单词:首字母大写,其余字母小写  Student

多个单词:每个单词首字母大写,其余字母全部小写  JavaBasic

变量和方法命名

单个:所有字母小写

多个:第一个单词首字母小写,其余单词首字母大写,其余字母全部小写 intValue

常量命名:所有字母全部大写

单个:全部大写  MAX NONE

多个:全部大写,单词之间以下划线分割  MAX_AGE MAX_VALUE

起名核心原则:见名知意


注释(解释说明的文字)

分类:

// 单行注释

/* 多行注释 (不能嵌套使用) */

/** 文档注释 (从注释上来看与多行注释没有区别,但是可以将文档注释内容提取出来生成JDK文档) */


常量

在运行过程中,其值不会发生改变的量(固定的)

分类:

        字面值常量

        自定义常量(面向对象部分讲)

字面值常量:

        字符串常量:双引号引起来的内容 “wolf”

        整形常量:所有整数 1 2 3         

        小数常量:所有小数 0.1 0.2 0.3

        字符常量:用单引号引起来的内容 'a' '我'

        布尔常量:只有 true 和 false

        空常量:null(面向对象)


进制(逢X进一)

十进制:123 = 1 * 10^2 + 2 * 10^1 + 1 * 10^0

  1. 十进制每一位的数字的取值固定 0-9 【0~X-1】

  2. 每一位置上表示的值得大小是不一样的

  3. 如果我们将10进制的数字位置,从右到左编号 从0开始编号,每一位数字根据位置的不同,代表的数值也不同

    每一位的数字,都有不同的权重

    权重底:10 (基数X 和进指数有直接关系)

    次方值:根据数字位置有关系

二进制:1100 = 1 * 2^3 + 1 * 2^2 + 0 * 2^1 + 0 * 2^0 = (12)10   二进制 -> 十进制

                                                                                                    十进制  -> 二进制:除留余数法

八进制:逢8进1 11 = 1 * 8^1 + 1 * 8^0 = 9                                八进制 -> 十进制

                                                                                                  十进制 -> 八进制:除留余数法

十六进制:逢16进1 1a = 1 * 16^1 + a * 16^0 = 26

二进制转其他:1100 -> 其他

八进制:(0-7)【000-111】 (001)(100) = (14)8         (14)8 = 1 * 8^1 + 4 * 8^0 = (12)10

十六进制:(0-15)【0000-1111】 1100 -> c

Java中不同进制语法:二进制 0b开头、八进制0开头、默认十进制、十六进制以0x开头

System.out.println(0b1100); // 12 对应的二进制表示
System.out.println(011); // 八进制表示 9
System.out.println(11);//十进制  11
System.out.println(0x11);//十六进制  17

负数表示方法:正和负两种不同状态,用一位二进制数,约定 0 表示正号, 1 表示负号,最高位为符号位

假设字长为8位,8位二进制数来表示一个数【0,0001100】把一个固定字长的二进制数的最高位,当做该二进制数符号位 <- 原码 表示

【原补码中逗号是没有的,为了方便区分】

原码表示

0,0001100 - 0,1110000 【减法】 计算机中,如果直接用原码来计算,数值位和符号位分开计算(很不方便),故引入补码(数值位和符号位一起运算)

二进制原码表示和补码表示关系

  1. 对于一个正数的原码表示,它的原码表示就是它的补码表示

  2. 对于一个负数的原码表示,它的原码表示和补码表示转化规则如下:

    • 原码表示的符号位不变,其余各位,依次取反【0变1,1变0】

    • 末尾 + 1

-12 = 1,0001100【原码】 -> 1,1110011【取反】 + 1 = 1,1110100【补码】 在计算机内存中以补码形式存储

补码对应的原码表示? 因为原码和补码,互为补码;对补码求补 -> 补码的补码 -> 补码对应的原码

1,1110100【原码】 -> 1,0001011【取反】 + 1 -> 1,0001100【补码】 = -12

注意!只有负数需要转换,正数的原码和补码一样

0 原码表示:::正0:0,0000000 负0:1,0000000【->1,1111111【取反】 + 1 = 0,0000000补码】

在补码中的0,只有一种表示方式 0,0000000

1,0000000 规定指定字长的补码表示中,让该补码表示多表示一个负数 【-128 ~ 127】


变量

在程序运行期间,其值可以改变的量。变量就是“一块”内存空间

变量定义格式:数据类型   变量名(标识符) = 变量值

不同类型变量之间运算和赋值

byte byteValue = 12;
int intValue = 100;
//对于变量而言,编译器不知道变量当前的值是多少,故不允许把大类型赋值给小类型
byteValue = byteValue + intValue;//错误  大类型->小类型
//对于jvm来说,先将byte变量读取出来,变成int类型的值,然后两个int类型做运算
intValue = byteValue + intValue;//正确   小类型->大类型

布尔类型变量不能直接转换成其他类型的值

默认转化规则(小类型 -> 大类型)

        byte, short, char ——> int ——> long ——> float ——> double

        byte, short, char 相互之间不转换,他们首先转换为int

强制转化语法:目标类型   变量名 = (目标类型)(被转换的数据)

byteValue = (byte)(byteValue + intValue);//假设确定byteValue + intValue的值在byte范围之内
byte c;
c = (byte)129;
/*
129 补码 0,10000001【2^7+1】
c          10000001 -> 1,1111110[取反后]
           [低八位]          + 1 [末尾加一]【补码的补码是原码】
                       1,1111111 原码表示 -> 十进制的值 64 + 32 +16 + 8 + 2 + 1 = 127【符号位-127】
*/
System.out.println(c);//-127
byte b1 = 1, b2 = 2, b;
b = b1 + b2;//错误
//两个byte类型的值参与运算,它们首先会被转化成int,同时不知道变量值是多少,故不能赋值b = 1+2;
b = 1+2;//正确  系统自己对常量值进行了判断
b = 1+127;//错误  超出byte范围【-128~127】
b = -1-127;//正确

作用域

        变量有效的时间范围,通常用{ }来界定

        用的时候分配内存空间,不用就收回

        有效的时间范围:创建 至 回收前

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值