Java基础知识(关键字,标识符,注释,常量,进制,进制转化,有符号表示,变量的数据类型和类型转化)

1.关键字

(1) 被Java语言赋予特殊含义的单词
(2) 组成关键字的字母全部小写
(3)goto和const作为保留字存在,目前并不使用
在这里插入图片描述在这里插入图片描述

2.标识符(我们自己起的一个名字)

(1) 就是给类,接口,方法,变量等起名字时使用的字符序列
(2)组成规则
*
英文大小写字母
*
数字字符
*
$和_

(3)注意事项
*
不能以数字开头
*
不能是Java中的关键字(保留字)
*
区分大小写

(4)常见命名规则:
* 包命名(为了保证包名的唯一,以域名(唯一的)反转的形式来命名包)

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

多级包名:com.bao.name 以域名反转的方式来命名,单词全部小写,单词之间以.分隔
* 类和接口命名

单个:首字母大写,其余字母全部小写 Student
多个单词:每个单词首字母大写,其余字母全部小写 JavaBasic MaxAge
* 变量和方法的命名

单个:所有字母小写 value
多个单词:第一个单词首字母小写,后面个单词首字母大写 intValue
* 常量的命名
单个:单词的所有字母全部大写即可 MAX IP NONE
多个单词 :每个单词全部大写,单词之间以_来分隔: MAX_AGE MAX_VALUE IP_ADDRESS
命名要遵循的一个核心原则:见名知意

3.注释

(1)Java语言的注释分类:
*
单行注释: 格式 //
*
多行注释: 格式 /注释内容/
*
文档注释: 格式 /*文档注释内容/

(2)作用
*
写代码
*
项目维护,阅读代码
*
案例

4.常量、进制、进制转化、有符号表示

**(1)常量:**在运行过程中,其值不会发生改变的量
常量的分类:
*
字面值常量
*
自定义常量(面向对象部分讲)

(2)字面值常量分类
* 字符串常量 :双引号引起来的内容“China”,代表固定的字符序列China
* 整形常量:所有整数 1,2
* 小数常量:所有小数 0.1 0.2
* 字符常量:用单引号引起来的内容 ‘a’ ‘我’
* 布尔常量: 只有true or false
* 空常量: null(面向对象) 不能直接输出

(3)JAVA中的整数型常量的表现形式:
* 二进制:由0,1组成,以0b开头,比如0b1100

//12对应的2进制表示 以0b开头
System.out.println(0b1100);//输出12
  • 八进制:由0~7组成,以0开头, 比如014
//八进制的表示 以0开头
System.out.println(011);//输出9
  • 十进制:由0~9组成,默认10进制,比如12
//10进制的输出
System.out.println(11);//输出11
*  十六进制:由0~9,A~F(或a~f)表示0~15,以0x开头
//16进制 以0x开头
System.out.println(0x11);//输出17
System.out.println(0x1f);//输出31
System.out.println(0x1F);//输出31
System.out.println(-12);//输出-12
 世界上有10种人,一种是懂二进制的,另一种是不懂的

进制:
就是进位计数制。是人为定义的带进位的计数方法。(也有不带进位的计数方法,比如“正字计数法”)就表示每一位置上的数运算时都是逢X进一。
(4)进制转化
* 十进制转其他进制
* 其他进制到十进制
* 二进制:由0,1组成,以0b开头,比如0b1100
* 八进制:由0~7组成,以0开头, 比如014
* 十进制:由0~9组成,默认10进制,比如12
* 十六进制:由09,AF(或af)表示015,以0x开头
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

Java语言中表示不同进制的语法
(5)
* 原码:
* 反码
* 补码

在进制表示法的基础上,在最高位增加一 位,表示正负
原码和反码的中间状态的数值编码表示
所有整数在计算机中其实都是以补码形式存在
(6)变量
在程序运行期间,其值可以改变的量,在某个范围内可以改变的量
理解(通过名字访问到)变量就是“一片”内存空间
变量定义的格式
数据类型 变量名 = 变量值
(7)数据类型
一种数据类型,其实表示的就是一个数据集和基于该数据集的一组合法操作。
在这里插入图片描述

整数默认:int 小数默认:double
在这里插入图片描述
在这里插入图片描述
int最常用,1个两个太少,8个太多

*  浮点型(小数)
 *  float(单精度的浮点数)有效长度6~7
 *  double(双精度的浮点数)有效长度15
 *  字符类型
 *  char :占4个字节,表示单个字符
 *  布尔类型
 *  boolean
 *  补充知识:根据JVM的规范,普通的boolean在jvm中被当成int处理,占4个字节
 *      但是在boolean数组中,每个boolean数据元素被当成byte处理,占1个字节
 *
 */

(8)使用变量的注意事项:
* 作用域
* 初始化值
* 建议一行定义一个变量
变量有效的时间范围,这个范围通常用{}来界定
变量在使用之前,由编译器强制必须赋初值
从代码的可读性角度来考虑
(9)数据类型的转换
* boolean类型的值不能直接转化为其它数据类型的值
* 默认(自动)的转化规则
* 强制转化
byte,short,char—>int—>long—>float—>double

byte,short,char相互之间不转换

,他们参与运算首先转换为int类型
目标类型 变量名=(目标类型)(被转换的数据);
(10)面试题
byte b1 = 1, b2 = 2, b;
b = b1+ b2;
b= 1 + 2;
哪句是编译失败的呢?为什么呢?
byte b1 = 1, b2 = 2, b;

//byte,short,char相互之间不转换,他们参与运算首先转换为int类型
//b = b1 + b2; //此句会报错 两个byte类型的值参与运算,他们都会首先被转化成int

//这是因为,编译器简单的判断了一下,不会超出byte类型变量的表示范围
b = 1 + 2;
System.out.println(b);//输出为3
//b = 202 + 1;

(11)思考题

  1. 将67转换为 二进制,八进制,十六进制 将 0b10100101, 0345, 0xef 转换为十进制2. 字长为8,已知原码 0110 1010 和 1100 0110, 求它们的补码 已知补码 0110 1010 和 1100 0110, 求它们的原码3. 语句byte b = 300;编译能通过吗?如果不能,怎样让它通过?转 换之后其值是多少?
    在这里插入图片描述
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值