您的位置:首页 > 编程语言 > Java开发

java基础1之java语言基础1

2017-01-19 22:08 148 查看

一、常量的概述和使用

A:什么是常量

* 在程序执行的过程中其值不可以发生改变


B:Java中常量的分类

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


C:字面值常量的分类

* 字符串常量 用双引号括起来的内容
* 整数常量      所有整数
* 小数常量      所有小数
* 字符常量      用单引号括起来的内容,里面只能放单个数字,单个字母或单个符号
* 布尔常量      较为特殊,只有true和false
* 空常量           null(数组部分讲解)


二、不同进制数据的表现形式

A:二进制的数据表现形式

* 由0,1组成。以0b(b可以大写也可以小写)开头(JDK1.7版本可以表示二进制了)


B:八进制的数据表现形式

* 由0,1,…7组成。以0开头


C:十进制的数据表现形式

* 由0,1,…9组成。整数默认是十进制的


D:十六进制的数据表现形式

* 由0,1,…9,a,b,c,d,e,f(大小写均可)。以0x开头


三、变量的概述及格式

A:什么是变量

* 在程序执行的过程中,在某个范围内其值可以发生改变的量


B:变量的定义格式

* 数据类型 变量名 = 变量值;


C:为什么要定义变量

* 用来不断的存放同一类型的常量,并可以重复使用


四、数据类型的概述和分类

A:为什么有数据类型

* Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存中分配了不同大小的内存空间


B:Java中数据类型的分类

* 基本数据类型
* 引用数据类型
* 面向对象部分讲解


C:基本数据类型分类(4类8种)

* 整数型
* byte    占一个字节     -128到127
* short   占两个字       -2^15~2^15-1
* int     占四个字节     -2^31~2^31-1
* long    占八个字节     -2^63~2^63-1
* 浮点型
* float   占四个字节    -3.403E38~3.403E38    单精度
* double  占八个字节    -1.798E308~1.798E308  双精度
* 字符型
* char    占两个字节    0~65535
* 布尔型
* boolean
* boolean理论上是占八分之一个字节,因为一个开关就可以决定是true和false了,但是java中boolean类型没有明确指定他的大小


五、定义不同数据类型的变量

//整数类型
byte b = 10;            //占一个字节,-128 到 127
short s = 20;           //占两个字节
int i = 30;             //占四个字节         整数默认的数据类型就是int类型
long x = 8888888888L;   //占八个字节 如果long类型后面加L进行标识最好加大L,因为小l太像一了

//浮点类型
float f = 12.3F;        //占四个字节
double d = 33.4;        //占八个字节 小数默认的数据类型是double,double类型后面也可以用D或d标识,但是一般不加

//字符类型
char c = 'a';           //占两个字节
System.out.println(c);

//布尔类型
boolean b1 = true;
boolean b2 = false;


六、使用变量的注意事项

* a:作用域问题
* 同一个区域不能使用相同的变量名
* b:初始化值问题
* 局部变量在使用之前必须赋值
* c:一条语句可以定义几个变量
* int a,b,c...;


七、数据类型转换

a:隐式转换

int x = 3;
byte b = 4;
x = x + b;
System.out.println(x);   //输出为int类型的值7


Java中的默认转换规则

* 取值范围小的数据类型与取值范围大的数据类型进行运算,会先将小的数据类型提升为大的,再运算


b:强制转换

int x = 3;
byte b = 4;
b = (byte)(a + b);
System.out.println(b);  //输出为byte类型的值7


强制转换的注意事项

* 如果超出了被赋值的数据类型的取值范围得到的结果会与你期望的结果不同


八、字符和字符串参与运算

System.out.println('a' + 1);            //98,因为有ASCII码表,a字符对应的是int类型的97
System.out.println((char)('a' + 1));  //b

System.out.println("hello"+'a'+1);      //任何数据类型用+与字符串相连接都会产生新的字符串
System.out.println('a'+1+"hello"); //98hello

System.out.println(" 5 + 5 = " + (5 + 5));//5+5=10


九、算术运算符的基本用法

A:什么是运算符

就是对常量和变量进行操作的符号。

B:运算符的分类

算术运算符,赋值运算符,比较(关系或条件)运算符,逻辑运算符,位运算符,三目(元)运算符

C:算数运算符有哪些

+,-,*,/,%,++,–

D:注意事项:

a:+号在java中有三种作用,代表正号,做加法运算,字符串的连接符

b:整数相除只能得到整数。如果想得到小数,必须把数据变化为浮点数类型

c:/获取的是除法操作的商,%获取的是除法操作的余数

%运算符

当左边的绝对值小于右边绝对值时,结果是左边

当左边的绝对值等于右边或是右边的倍数时,结果是0

当左边的绝对值大于右边绝对值时,结果是余数

%运算符结果的符号只和左边有关系,与右边无关

任何一个正整数%2结果不是0就是1可以用来当作切换条件

十、算术运算符++和–的用法

A:++,–运算符的作用

自加(++)自减(–)运算

++:自加。对原有的数据进行+1

–:自减。对原有的数据进行-1

B:案例演示

a:单独使用:

放在操作数的前面和后面效果一样。(这种用法是我们比较常见的)

b:参与运算使用:

放在操作数的前面,先自增或者自减,然后再参与运算。

放在操作数的后面,先参与运算,再自增或者自减。

//单独使用
int a = 3;
a++;                        //a = a + 1;
++a;                        //a = a + 1;


//参与运算使用
int a = 3;
int b;

b = a++;                    //当++在变量后面的时候,会先将变量中的值取出做赋值操作,然后再自身加1
b = ++a;                    //当++在变量前面的时候,会先自身加1,然后在将结果赋值


十一、赋值运算符的基本用法

A:赋值运算符有哪些

a:基本的赋值运算符:=

把=右边的数据赋值给左边。

b:扩展的赋值运算符:+=,-=,*=,/=,%=

+= 把左边和右边做加法,然后赋值给左边。

十二、关系运算符的基本用法及其注意事项

A:关系运算符有哪些(比较运算符,条件运算符)

==,!=,>,>=,<,<=

注意事项:

无论你的操作是简单还是复杂,结果是boolean类型。

“==”不能写成”=”。

附:java语言基础面试题

1.看下面的程序是否有问题,如果有问题,请指出并说明理由。

byte b1 = 3;  //①
byte b2 = 4;  //②
byte b3 = b1 + b2;  //③
byte b4 = 3 + 4;  //④


第③句会报错

* 从两方面去回答这个题
* b1和b2是两个变量,变量里面存储的值都是变化的,所以在程序运行中JVM是无法判断里面具体的值
* byte类型的变量在进行运算的时候,会自动类型提升为int类型


第④句中:3和4都是常量,java有常量优化机制,就是在编译的的时候直接把3和4的结果赋值给b4了

2.问哪句会报错,为什么

byte b = 10;//①
b++;//②  相当于b = (byte)(b + 1)
b = b + 1;//③  当byte与int进行混合运算的时候,会提升为int类型,两个int相加的结果还是int,赋值给byte会损失精度


3.看下面的程序是否有问题,如果有问题,请指出并说明理由。

short s=1;s = s+1;  //当short与int进行运算的时候,会提升为int类型,两个int类型相加的结果也是int类型
short s=1;s+=1;  //s = (short)(s + 1);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息