java语言基础(常量的概述和使用)
A.什么是常量: 在程序执行的过程中其值不可以发生改变
B.java中常量的分类:字面值常量 自定义常量(面向对象部分讲)
C.字面值常量的分类
字符串常量 用双引号括起来的内容
整数常量 所有整数
小数常量 所有小数
字符常量 用单引号括起来的内容,里面只能放单个数字,单个字母或单个符号
布尔常量 较为特殊,只有true和false
空常量 null(数组部分讲解)
不同进制数据的表现形式
A.二进制的数据表现形式
由0,1组成。以0b(b可以大写也可以小写)开头
B.八进制的数据表现形式
由0,1,...7组成,以0开头
C.十进制的数据表现形式
由0,1,2....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 理论上是占八分之一个字节,因为一个开关就可以决定是true和false了,但是java中boolean类型没有明确指定它的大小
使用变量的注意事项
同一个区域不能使用相同的变量名
局部变量在使用前必须赋值
一条语句可以定义几个变量
例题 下面的程序是否有问题,如果有问题,请指出并说明理由
class test2
{
public static void main(String[] args)
{
byte b1 = 3;
byte b2 = 4;
byte b3 = b1 +b2;
/*从两方面
1.byte与byte(或short,char)进行运算的时候会提升为int,两个int类型相加的结果也是int类型
2.b1和b2是两个变量,变量存储的值是变化的,在编译的时候无法判断里面具体的值,相加有可能会超出byte的取值范围
*/
System.out.println(b3);
}
}
float占4个字节
IEEE 754规定32个二进制位
1位代表是符号位 8位代表指数位
00000000-11111111 0-255 0代表0 255代表无穷大
float的取值范围要比long大
char数据类型
java语言中的字符char可以存储一个中文汉字吗?为什么呢?
可以。因为java语言采用的是Unicode编码,Unicode编码中的每个字符占用两个字节。中文也是占的两个字节,所以,Java中的字符可以存储一个中文汉字
算术运算符的基本用法
A.什么是运算符?
就是对常量和变量进行操作的符号。
B.运算符的分类
算数运算符 ,赋值运算符, 比较(关系或条件)运算符 ,逻辑运算符, 位运算符,三目(元)运算符
C.算数运算符有哪些?
+,-,*,/,%,++,--
D.注意事项
a.+号在java中有3种作用,代表正号,做加法运算,字符串的连接符
b.整数相除只能得到整数,如果想得到小数,必须把数据变化为浮点数类型
c./获取的是除法操作的商,%获取的是除法操作的余数
%运算符
当左边的绝对值小于右边绝对值时,结果是左边
当左边的绝对值等于右边或是右边的倍数时,结果为0
当左边的绝对值大雨右边绝对值时,结果为余数
%运算符结果的符号纸盒左边有关系,与右边无关
任何一个正整数%2结果不是0就是1可以用来当做切换条件
算数运算符++和—-的用法
A.++,--运算符的作用
A.++,--运算符的作用
自加(++)自减(--)运算
++:自加。对原有的数据进行+1
--:自减。对原有的数据进行-1
当++在变量后面的时候,会先将变量中的值取出做赋值操作,然后再自身加1
当++在变量前面的时候,会先自身加1,然后再将结果赋值
例题
1.int x=4;
int y=(x++)+(++x)+(x*10);
System.out.println("x = " + x + ",y = " + y);
结果是x=6,y=70
2.byte b=10;
b++; //b = (byte)(b+1)
b = b+1; //当byte与int进行混合运算的时候,会提升为int类型,两个int相加的结果还是int,赋值给byte会损失精度
问哪句话会报错,为什么?
网友评论