单行注释一般写在语句的后面多行注释和文档注释一般写在语句的上面
常量是指在程序运行过程中其值不能改变的量。
Java中常量的分类:
char类型表示的是单个字符类型,任何数据使用单引号括起来的都是表示字符。字符只能有一个字符,比如:普通的老百姓穿上军装就是军人。
\r 表示接受键盘输入,相当于按下回车。
Java中这8中基本数据类型都是小写的。
进制:进制是一种记数方式 ,可以用有限的数字符号代表所有的数值。由特定的数值组成。
几乎每个民族最早都使用都十进制计数法,这是因为人类计数时自然而然地首先使用的是十个手指。 但是这不等于说只有十进制计数法一种计数方法。例如,世界各国在计算年月日时不约而同地使用“十二进制”12个月为一年又如:我国过去16两才算为一斤,这就是“十六进计数法”,一个星期七天,这个就是”七进制计算法”。 计算机是由逻辑电路组成,逻辑电路通常只有两个状态,开关的接通与断开,这两种状态正好可以用“1”和“0”表示。
十进制转二进制的转换原理:除以2,反向取余数,直到商为0终止。
二进制转十进制的转换原理:就是用二进制的每一个乘以2的n次方,n从0开始,每次递增1。然后得出来的每个数相加
存在问题:书写特别长,不方便记忆。
八进制转十进制原理: 用把进制的数不断乘以8的n次方,n从0开始,每次递增1。
除了这种方法之外,我们还有另一种方法,因为三个开关表示一个八进制数。
十进制转十六进制原理:就是不断除以16,取余数。
人使用的十进制 、 计算机底层处理的数据是二进制、八进制、十六进制,
那么如果给计算机输入不同的进制数据呢?
根据上述变量的特点,所以我们声明一个变量的时候需要确定变量的大小,类型、名字三个特点:
格式: 数据类型 变量名字1 , 变量名字2 ,……变量名字n ,;
Java中可以进行不同数据类型的加减乘除运算吗?是可以的。在算术运算符中已经体验过如果两个整数(int)相除会去掉小数部分。如果需要保留小数部分,可以让除数或者被除数变为double类型的(5变为5.0)。其实Java是自动的将int的那个数变为了double类型了也就是Java自动的将整数变为了浮点数。例如5/2.0 其实是5.0/2.0
可以将一个数赋值给更大数值范围的变量,例如可以经byte 变量赋值给short变量可以将short变量赋值给int变量可以将int变量赋值给long变量。
Java内部其实做了工作就是自动将数值进行了类型提升,就叫做自动类型转换(也叫隐式类型转换)
自动类型转换(也叫隐式类型转换)
不可以将一个数值赋给范围更小数值范围的变量,除非进行类型转换。
上述例子发生了什么,发生了类型转换。
当两种类型彼此不兼容,或者目标类型取值范围小于源类型(目标是byte源是int)
强制类型转换需要注意:
可以把byte 理解为1两的碗,short 2两的碗,int 4两的碗,long 8两的碗。1两碗的满碗酒可以倒入 2两 4两 8两的碗中。但是 4两碗的酒倒入1两碗的酒就有一些问题。
1、 什么时候要用强制类型转换
2、 表达式的数据类型自动提升
美国人为了让计算机识别他们生活中的文字,让二进制表示生活中的文字.所以一个字母代表了一个二进制.,二进制也有十进制的表现形式.,把生活中的字母都用数字来标识,例如97 代表a ,98 代表 b。打印’a’就把a作为输出显示,没有疑问。但是 ‘a’+1 有加号涉及到了运算。根据java自动类型提升规则,同样道理 char 提升为int 。就把’a’代表的数字体现了出来。a 表示的是97 97+1就是98; 那么 想要查看98 表示的char 是什么 怎么实现呢 ?就要用到刚才介绍的强制类型转换了 System.out.println(char(‘a’+1));就取到了98 在ASCII码表中表示的字符。大写A 和小写a 在 ASCII有不同的表现。还有一个概念字符’1’ 在ASCII中 不是数字 1,可以运行代码查看,到此就可以明白了char
取模的正负取决与被除数:
后自增,先运算完整个表达式(分号前面的都是表达式),再进行自增;
备注:参与自增运算的操作数据每次会加1.
变量我们已经知道如何声明,表达式具体如何定义?
如何比较两个值?使用比较运算符 3和5谁大,在java中如何比较?
什么是逻辑运算符?连接比较运算符的符号称之为逻辑运算符。那么为什么要连接比较运算符? 举例:当你去公司应聘,招聘要求,男性(判断为真),并且开发经验1年(判断为假)那么,我们还适合去面试吗,不能,因为只满足了一项,总体是不满足的(总体结果为假)。
总结 | : 两边只要有一个为真结果就为真,当两边同为假时结果才为假.
按位操作符用来操作整数基本数据类型中的单个比特(bit),就是二进制,按位操作符会对两个参数中对应的位(bit)执行布尔运算,最终生成一个结果。按位操作符来源于C语言面向底层的操作,Java设计的初衷是嵌入式电视机机顶盒,所以面向底层的操作也保留了下来。
除了这些位运算操作,还可以对数据按二进制位进行移位操作,Java的移位运算符有三种。
练习:取出一个二进制的某一段。
使用异或(^)数据对数据加密
对两个变量进行值交换(不能使用第三个变量)
两个数相加的时候,值有可能超出int表示范围,不推荐。
该方式虽然效率高,而且避免了超出int值,但是可读性较差。
被移位的二进制最高位是0,右移后,空缺位补0; 被移位二进制最高位无论是0或者是1,空缺位都用0补。
被移位的二进制最高位是0,右移后,空缺位补0;
被移位二进制最高位无论是0或者是1,空缺位都用0补。
技巧:可以理解为二进制1就是true,0就是false。
练习:最有效率的方式算出2乘以8等于几?