一、标示符
二、关键字
三、java基本数据类型
3.1 常量
● 常量表示不能改变的数值。
● java中常量的分类:
1. 整数常量。所有整数
2. 小数常量。所有小时
3. 布尔型常量。较为特有,只有两个数值。true false。
4. 字符常量。将一个数字字母或者符号用单引号( ' ' )标识。
5. 字符串常量。将一个或者多个字符用双引号标识。
6. null常量。只有一个数值就是:null.
● 对于整数:java有三种表现形式。
十进制:0-9 ,满10进1.
八进制:0-7 ,满8进1. 用0开头表示。
十六进制:0-9,A-F,满16进1. 用0x开头表示。
3.2变量
从本质上来讲,变量其实是内存里面的一小块区域,一个程序在运行的时候,实际上这个程序是位于内存里面,然后才开始运行。一个.exe文件存放在硬盘上是无法运行的,在硬盘上看到的.exe文件无非就是一个文件而已,当我们双击这个.exe文件时,运行起来的时候实际上是整个.exe文件被放在了在内存里面,然后操作系统找到main方法,也就是程序的入口,然后就开始执行了。执行的过程之中,会不断地在内存里面分配一些区域,变量在内存里面就是一小块区域,变量有两个概念,一个是变量的名字,另一个是变量的值,即这一小块区域是有名字的,里面装着一个值,因此以后要想访问这小块区域里面的内容就可以根据这小块区域的名字来访问了。因此,变量的本质就是一小块内存区域。就变量来说,该在内存里面分配多大的存储空间呢?不同的变量类型分配不同大小的存储空间,每一个变量都是属于特定的数据类型的,声明成不同的数据类型,它就在内存里面分配不同的存储空间。
变量作用域:变量的作用域只在“{ }”有效,出了这个“{ }”就没有作用了
以上转自:http://www.cnblogs.com/xdp-gacl/p/3624567.html
3.3 变量的分类
3.4 java数据类型划分
四、基本数据类型详细讲解
4.1 逻辑型boolean
4.2 文本型char
4.3 整数型(byte、short、int、long)
char类型占2个字节
short从-32768到32767
int从-2147483648,到2147483647共10位
long从-9223372036854775808到9223372036854775807共19位
4.4 浮点型(float、double)
在 数学中0到1有无数个浮点数;而计算机是离散的,所以表示的时候有误差,计算机用精度(小数点后几位来表示正确),比较浮点数时a==0.1是不合适的, 应该a-0.1==0;如果a是0.1,则即使有误差 a-0.1==0因为a和0.1都被表示为一个有误差的计算机二进制
byte 字节型,在内存中占有1个8位 取值范围 -128 ~~127
short短整型,在内存占有2个8位 取值范围 -32768 ~~ 32767
int 整型,在内存中占有4个8位 取值范围-2147483648~~2147483647
我们生活中数据,整数,都默认是int类型
long长整型,内存中占有8个8位,计算天文数据
float单精度浮点类型,4个8位
double双精度浮点类型,8个8位,生活中小数默认都是double
char 字符型,存储单一字符,内存中占2个8位
boolean 布尔类型,2个值,都是关键字 真true 假false
4.5数据类型转换
看看下面程序出现错误的原因:
byte b = 4;
byte b1 = 3;
byte b2 = 7;
b = b1 + b2;====>>>b1和b2是变量,而b是byte类型,无法保证b1+b2是否超出其取值范围
System.out.println(b);
1 public class TestConvert { 2 public static void main(String arg[]) { 3 int i1 = 123; 4 int i2 = 456; 5 double d1 = (i1+i2)*1.2;//系统将转换为double型运算 6 float f1 = (float)((i1+i2)*1.2);//需要加强制转换符 7 byte b1 = 67; 8 byte b2 = 89; 9 byte b3 = (byte)(b1+b2);//系统将转换为int型运算,需要强制转换符 10 System.out.println(b3); 11 double d2 = 1e200; 12 float f2 = (float)d2;//会产生溢出 13 System.out.println(f2); 14 float f3 = 1.23f;//必须加f 15 long l1 = 123; 16 long l2 = 30000000000L;//必须加l 17 float f = l1+l2+f3;//系统将转换为float型计算 18 long l = (long)f;//强制转换会舍去小数部分(不是四舍五入) 19 } 20 }
五 运算符
5.1算术运算符
/ :这个符号在计算中,如int中,人类计算结果是有小数的,而计算机会把小数部分干掉
%(取余) :如果左边的数比右边的数小,则结果是左边的数
++、-- :在变量的左边,进行先加再运算。在右边则进行先运算后加。
5.2 逻辑运算符
^符号两边结果相同,则为false;如果两边结果不同,则为true
^规律:一个数异或同一个数两次,结果还是这个数
如例两整数换位:a=3,b=5不用第三方变量使a=5,b=3 (a=a^b;b=a^b;a=a^b)
面试题:&,&&和|,||的区别
&&和&:
和&(两边都为真,才为真)运算的结果是一样的。但是运算过程有点小区别。
&:无论左边的运算结果是什么,右边都参与运算。
&&:当左边为false时,右边不参与运算的。
||和|:
和|(两边只要一个为真,就为真)运算的结果是一样的。但是运算过程有点小区别。
|:无论左边的运算结果是什么,右边都参与运算。
||:当左边为true时,右边不参与运算的。
5.3 赋值运算符
= , +=, -=, *=, /=, %=
左右两边的和,减,乘,除,余赋值给左边!
5.4 字符串连接符
5.5表达式
5.6 三目运算符
x?y:z