关键字 数据类型 标识符 常量 进制 数据的表示方法 变量 类型转换

Java中的关键字:被Java 附于特定含义的单词
定义类:class
权限修饰符:
		public:公共的  公开的
		面向对象:封装---private:私有的,无法直接访问的
		protected:受保护的(权限修饰符)
		
数据类型:
	基本数据类型
		byte
		short
		int
		long 
		float
		double 
		char
		bolean
	引用数据类型:类,接口,数组,等
		
定义类  class
class KeyWorld{
	public static  void  main (String[] args ){
	System.out.println("key world");
	
	}
	权限修饰符   静态修饰符   方法
	
}

标识符:给类 接口 变量 方法 等等起名字的字符序列 !起名字的时候,做到 "见名知意"
起名规则:
	1)可以是英文字母
	2)可以是数字字符(但是数字不能开头)
	3)可以有_和$符号
	Java中严格区分大小写
给包(package)起名字(字母全部是小写!)
	单级包
		com   HelloWorld.java
	多级包(一般:公司域名反写)
		cn.bd.www    (dian ---分包:子目录)
			cn 文件夹
				bd子文件夹
					www  子文件夹
给类或者后面接口起名字的规则:驼峰命名法:
		如果是一个单词:首字母大写 其余小写 class Hello
		多个单词 每个单词首字母都大写 class 	HelloWord
给变量起名采用小驼峰命名法:
		如果是一个单词:全部小写
		如果是多个单词:第一个单词全部小写,其余每个单词的首字母都大写,其余字母小写
给常量命名
		一个单词全部大写
		多个单词 每个单词全部大写 每个单词之间用_(下划线)连接   MSG_PUBLLIC

注意事项:
        1)数字不能开头
        2)Java中严格区分大小写
        3)关键字不能当作标识符
        4)起名字要做到见名知意
        5)不能出现特殊的其他符号


常量

常量:在程序的执行过程中 其值不发生改变的量
常量分为两大类:
	字面值常量
		字符串常量:使用双引号括起来的内容就是字符穿常量
		字符常量:使用单引号括起来的单个内容
		整数常量
		小数常量
		布尔常量
		空常量
	自定义常量:面向对象(继承的时候引入关键字final)
	
	System.out.println("我爱高圆圆")
	System.out.prinln('A')
字符常量:如果不参与运算,就是表示一个字符
但是如果参与预算,它去寻找ASCII码表的值
'a'------97
'A'-------65
'0'-------48
空常量-----引用类型:默认值--->null
String:特殊的引用类型(java提供的"字符串类")
小数常量
整数常量

进制

进制:数据进位的一种方式
		x进制:逢x进一
进制的由来:
		早期:电信号 使用1, 0 来表示 这个开关

计算机的一些数据:有很多符号表示  使用 1 0 这两个电信号无法满足要求
组织规定:使用8个这样的电信号来描述一个计算机符号
8bit:8个比特位表示这样的一个数据
一个字节:由8个bit 组成的

进制越大表示形式越短!

进制 ---属于常量的范畴
二进制:由0,1 组成 以0b开头 逢2进1
八进制:you 0 1 2 3 -----7组成 以0开头,逢8进一 
十进制:(整数默认)
十六进制:由0 1 2 3 -----9 a b c de f组成
以0x开头,逢16 进一

进制之间的转换

任意进制转成十进制
	位权展开法:系数*基数的全次幂相加    12345=1*10^4+2*10^3+3*10^2+4*10^1+5*10^0
	系数:1 2 3 4 5
	基数:10
	权次幂:4 3 2 1 0 
八进制0100=1*8^2+0*8^1+0*8^0=64
系数: 1 0 0
基数: 8
权次幂:2 1 0


十进制到任意进制的转换
规则: 使用当前十进制数据的基数,一直除到商为零,余数反转.

 52十进制----变成八进制  064	
 52十进制----变成十六进制 0x34
 52十进制----变成二进制 0b110100


8421码

​ 1 1 1 1 1 1 1 1


128 64 32 16 8 4 2 1

8421码:快速转换法(二进制--十进制)
每一个二进制数据的数值都是1  都对应一个整数
十进制7转化成二进制就是0b111
十进制10转化成二进制就是0b1010
十进制11转换成二进制就是0b1011

需求 :x进制---->y进制
举例:二进制---->八进制


有符号位的数据表示法:
原码 反码 补码
计算机底层对数据进行计算:通过补码进行计算的!(一个数据:最高符号位(表示数据的正负)+数值位)
正整数
		正整数的原码;计算出的二进制数据   0000 0111
         正整数的最高符号位为0
         正数的原码 反码 和补码都是一样的 
  
  负整数 
       负数的最高符号位是1
       负数的反码:是在原码的基础上 符号位不变,数值位按位取反
       负数的补码是:在反码的基础上 符号位不变 数值位末尾加1
       
        

变量

变量:在程序的执行过程中,其值不断变化的量
变量定义的三要素:
		1)数据类型
		2)变量名称
		3)初始化值
		格式:
		数据类型 变量名称  =初始化值
		
		数据类型的分类:
			两大类
				基本数据类型:四类八种
					整数类型:默认int 
						字节类型 byte(-128~127)考点!
						短整型 short
						长整形long(定义是需要在末尾加上L)
					浮点类型 默认(double)
					float类型 (在定义float类型时需要在变量值的末尾加上f)
					字符类型 char
					布尔类型boolean
					
					引用数据类型:类 接口 数组 
					

定义变量的注意事项:
1)定义变量的时候不能重复定义(Java是一个强类型的语言,结构严谨)
2)在一个{}内:作用域  中有效   超过作用于域 则无法使用
3)一般情况下:为了保证格式更好看些,一行只定义一个变量
4)在定义变量的时候 必须初始化


Java中隐式类型提升(隐式转换)
byte short char 三者之间不转换,一旦参与运算则默认转换成int类型(考点)
!!!只要参与运算必定会转换数据类型,极易出错
	面试题:
		byte b, b1=3, b2=4;
		1)b=b1+b2;
		2)b=3+4;
	问:以上两个当中哪个会编译失败?
	答案:1
	
	面试题:
		byte b=130;
		问:有问题吗
		结果是多少?
		答案:有问题 byte取值范围-127~128    byte b=byte(130)
		结果是-126
		计算机底层使用补码计算
		补码 -->反码--.原码-->推出结果
		130的补码是00000000000 00000000 00000000 10000010   ----截取:强制 
		截取之后得到补码是 10000010(最高位是1 表示是负数)---补码的末位减一,最高位符号位不变则其得到反码是10000001----->(最高位符号位不变按位取反则)得到原码是11111110---->转换成十进制(使用8421码  即除过最高位1得到一个7位数0000010=64+32+16+8+4+2+0=126)   ----加上最高位符号位-负号则得到结果-126
		
		
		

(转换优先级先是int类型 其次是long类型 再者就是double)
	基本数据类型数据类型一致则直接运算
	如果数据类型不一致则要进行转换
	
	
Java中:显示类型转换(强制类型转换)
将大的类型----->小的类型
强制类型转换:一般不会使用,会损失精度   不仅适用于基本数据类型 也适用于引用数据类型


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值