JAVA基础(一)——标识符、数据类型转换、运算符

一、关键字
二、标识符
三、注释
四、常量与变量
五、基本数据类型与转化
六、运算符
七、表达式

一、关键字

关键字:Java预定义的标识符,有特殊含义,能够使得开发工具变颜色的单词
(一)关键字特点:
1.所有字母都是小写字母
2.关键字不能够作为标识符
3.Java一共有50个关键字。const,goto也是关键字,在Java中没有特殊含义,作为保留使用
注意:{} [] ()一定要成对出现,{}里面内容必须缩进

二、标识符:

标识符:给Java中的包、类、接口、变量、方法、常量等取名字
四大规则,四大规范,开发中的命名规范
(一)四大规则
1.由字母,数字,下划线_,美元符号$组成
2.不能以数字开头
3.Java对于大小写严格区分
4.不能是Java中的关键字
(二)四大规范
1.见名知义
2.不允许使用中文和拼音
3.满足驼峰命名法
4.命名长度最好不要超过31个字符
(三)标识符开发中的命名规范
1.包(文件夹): 公司域名反写,单词用.隔开,每个单词都是小写(eg:com.baidu com.baidu.com
2.抬头骆驼: 所有单词首字母大写,其他字母小写
类(class): HelloWorld IdentifiedDemo
接口(interface): 一般会在第一个单词前面加个大写字母I(eg:IStudent ITeacher)
接口实现类: 一般会在最后一个单词加上Impl(eg:StudentImopl)
抽象类: 在单词开头一般都会加上Abs(eg:AbsStudnet)
3.低头骆驼: 第一个单词首字母小写,其他单词首字母大写
变量: 一般都是名词,studentName score studnetScore
方法: 一般都是动词,getTotalScore getSum
4.常量: 所有单词都是大写,每一个单词使用下划线_隔开,MAX_VALUE PI

三、注释

注释:为程序进行解释说明,不会被JVM执行
(一)注释分类:
单行注释 //
多行注释 /* /
文档注释 /
* */
(二)注意:
1.注释不能够嵌套
2.注释不要随意的删除
3.养成一个好习惯,先写注释,再写代码,能够培养逻辑思维,以及提高代码可读性
(三)注释的好处:
1.能够提高程序的可读性
2.开发中工作的交接(文档注释)
3.程序调式

四、常量与变量

常量:在程序的执行过程中,其值不会发生改变的量

常量的分类:

(一)整形常量:
1.二进制:0b开头
2.八进制:0开头
3.十进制:默认就是十进制
4.十六进制:0x开头
(二)小数常量
0.2F float类型的小数常量
0.2D double类型的小数常量
(三)布尔常量: 只有两个值,TRUE和FALSE
(四)字符常量: 由’ '包裹,除转义字符(\)外里面只有一个字符
1.字符和字节的区别?各自本质
2.常见字符编码:a 97,A 65,0 48
3.转义字符:\t制表 \n换行 \r\n换行(Windows系统)
(五)字符串常量: 由双引号包裹,里面可以是空串,一个字符或者是多个字符
(六)null常量: 表示引用类型的常量
(七)自定义常量
(八)注意:
1.System.out.println();输出的都是数值的十进制
2.默认整形常量默认是 int 类型
3.默认小数类型就是 double 类型
4.字符的数量不会超过65535

变量

变量:在执行的过程当中,其值可以发生改变的量,类似于数学的未知数x
(一)变量的三要素:声明——赋值——使用
(二)注意:
1.变量一定要先声明数据类型,再赋值,再使用
2.变量不能够重复定义
3.变量不能够连续定义:int a = b= c = 10;(错),int a=10,b=20,c=30;(可以,但不建议)

五、基本数据类型与转化

数据类型:Java是一门强语言类型,Java对每一种数据都提供了对应的类型

数据类型的分类

(一)八大数据类型
1.整数类型
byte,1个字节,取值范围:-128~127
short,2个字节,取值范围:-2^15 ~ 2 ^15-1
int,4个字节,取值范围:-2^31 ~ 2 ^31-1
long,8个字节,取值范围:-2^63 ~ 2 ^63-1
2.浮点类型
float,4个字节,取值范围:-3.403E38 ~ 3.403E38
double,8个字节,取值范围:-1.798E308 ~ 1.798E38
3.字符类型: char,2个字节,取值范围:0~65535
4.布尔类型: boolean,1个字节,取值:TRUE FALSE
(二)注意
1.虽然小数表示范围很大,但是也不能够完全表示所有的小数,例如无线不循环小数
2.同样是8个字节的long和double类型,double取值范围比long类型多很多,原因是存储方式不一样
3.处理金融项目时,不能使用float和double类型来计算,因为会精度丢失,使用BigDecimal
(三)引用数据类型(面向对象): 类 接口 数组[]

类型转换

(一)类型转换的依据:取决于数据的取值范围,而不是字节数
byte > short > int > long > float > double
char >
(二)注意
1.char和byte/short有交集关系,没有子集关系
2.其他的都满足子集关系
3.boolean不参与类型转换
(三)类型转换情况分类
1.自动类型转换: 将小类型赋值给大类型,系统会自动将小类型转换成大类型,不会出现任何问题
2.强制类型转换: 将大类型赋值给小类型,可能会出现精度丢失和数据溢出
格式:目标类型 变量名 = (目标类型)(被转换的数据);
3.byte/short特例???: 常量值(12+13)赋值给byte/short类型,编译器会自动编译成结果25,数值在byte/short类型取值范围内,无需强制转换
4.byte/short和char: 参与转换,都需要强制类型转换
5.表达式类型提升: 类型会自动向高类型转换
6.byte/short/char之间参与运算: 它们之间参与运算,底层都会转换成int类型来计算
7.boolean类型不能够参与类型转换
8.字符串类型: 字符串类型和任何类型进行加法运算都是拼接操作,在JavaScript中可以进行其他运算
9.变量计算和常量计算问题
a.常量计算,编译器会自动帮我们计算结果
b.变量计算,编译器无法帮我们识别类型和结果
(四)练习题

六、运算符

运算符:针对常量和变量之间进行运算的符号

运算符的分类:

(一)算数运算符:+ - * / % ++ - -
1.计算中如何防止精度丢失(强制类型转换)
2.如果分离一个数的每一位
3.自增自减运算符
单独使用:表示自增或者自减
参与运算:
a.如果++放在操作数的左边,表示先自增再参与运算
b.如果++放在操作数的右边,表示先参与运算再自增
4.练习:
1.请计算:
a=3,b=4;
(1):(a++)/3+(–b)*2-(a–)%6+(b++)*3-(b–)
a=3,b=4
(2):(++b)*2-(a–)%4+(a++)*5-(–b)/2+(–a)
a=3,b=4
(3):(a–)*6+(b++)/3-(–a)*2-(–b)*2+(++a)
2.请计算
1.int n = 5;n = ++n + ++ n;求n=?
2.int n = 3;n = ++n + n ++;求n=?

(二)赋值运算符:+= -= *= /= %=
1.short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
答案:前者编译失败,short和int类型计算结果是int类型,将int类型赋值给short类型,需要强制类型转换。后者编译通过,因为使用扩展赋值运算符系统会自动帮我们强制类型转换
2.如何交换两个数?定义中间变量temp,三种解法
(三)关系运算符: > < >= <= != ==
关系运算符的结果是boolean类型
(四)逻辑运算类: & | ^ , && || !
&:按位与
|:按位或
^:异或
&&:短路与
||:短路或
!:非
面试题
1.&和&&的区别
解答:&表示按位与,无论什么情况都会就算运算符两班倒表达式
&&表示短路与,如果前面的表达式为false,那么无论后面结果如何,都不会去计算后面表达式的值
&&开发中使用,&基本不用
&常用于位运算,位运算的效率比普通运算高很多
(五)位运算符: & ,| ,^ ,~ ,>>,<<,>>>(了解)
(六)条件运算符: ? :
1.格式:X ? Y : Z
X表达式必须是boolean类型的表达式
2.执行流程:首先计算X表达式的结果,如果X的结果为true,那么整个表达式的值就是Y的值
如果X的结果为false,那么整个表达式的值就是Z的值
3.练习题:
a.根据天数(46)计算周数和剩余的天数
b.定义一个四位会员号:计算四位会员号的各位之和(个位,十位,百位,千位上数字求和)

七、表达式

表达式:符合一定语法规则的运算符和操作数的式子
操作数:变量或常量
(一)表达式的分类
1.按复杂程度来分:简单表达式(只有1个运算符的表达式),复杂表达式(2个或以上,运算符的优先级)
2.按运算符两边的操作数来分:单目,双目,三目
3.按名称来分:a+b算数表达式
(二)表达式的值及类型
表达式的值:整个表达式的结果
表达式的值的类型:
(三)运算符的优先级
1.有括号先算括号里面的
2.单目运算符>双目运算符>三目运算符
3.算数运算符(*/%±)>关系(><…>= == !=)>逻辑(&&>||)>条件运算符>赋值运算符
4.如果运算符的优先级相同,从左至右即可
技巧:如果针对特别复杂的表达式,可以根据运算符的优先级规律,然后使用()改变优先级,提高程序的可读性

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值