前言
这次学习了Java的基础语法和运算符,虽然单个学习起来并不难,但是所有东西组合起来就比较有难度了。
一、基础语法
1.注释
1.1 注释概述
注释是在程序指定位置添加的说明性信息,注释不参与程序运行,仅起到说明作用。
1.2 注释分类
单行注释,格式:// 注释信息
多行注释,格式:/* 注释信息 */
文档注释,格式:/** 注释信息 */
2. 关键字
2.1 关键字概述
被Java语言赋予了特定含义的单词。
2.2 关键字特点
关键字的字母全部小写;
常用的代码编辑器,针对关键字有特殊的颜色标记。
3. 常量
3.1 常量概述
在程序运行过程中,其值不可以发生改变的量。
3.2 常量分类
常量类型 | 说明 | 举例 |
字符串常量 | 用双引号括起来的内容 | “HelloWorld”,“中国” |
整数常量 | 不带小数的数字 | 666,-88 |
小数常量 | 带小数的数字 | 13.14,-5.21 |
字符常量 | 用单引号括起来的内容 | ‘A’,‘0’, ‘我’ |
布尔常量 | 布尔值,表示真假 | 只有两个值:true,false |
空常量 | 一个特殊的值,空值 | 值是:null |
4. 数据类型
4.1 计算机存储单元
计算机存储设备的最小信息单元叫“位(bit)”,我们又称之为“比特位”,通常用小写的字母”b”表示。而计算机中最小的存储单元叫“字节(byte)”, 通常用大写字母”B”表示,字节是由连续的8个位组成。
1B(字节) = 8bit
1KB = 1024B
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB
4.2 数据类型
4.3 数据类型内存占用和取值范围
数据类型 | 关键字 | 内存占用 | 取值范围 |
整数 | byte | 1 | -128~127 |
short | 2 | -32768~32767 | |
int(默认) | 4 | -2的31次方到2的31次方-1 | |
long | 8 | -2的63次方到2的63次方-1 | |
浮点数 | float | 4 | 负数:-3.402823E+38到-1.401298E-45 正数: 1.401298E-45到3.402823E+38 |
double(默认) | 8 | 负数:-1.797693E+308到-4.9000000E-324 正数:4.9000000E-324 到1.797693E+308 | |
字符 | char | 2 | 0-65535 |
布尔 | boolean | 1 | true,false |
说明:E+38表示是乘以10的38次方,同样,E-45表示乘以10的负45次方
5. 变量
5.1 变量概述
在程序运行过程中,其值可以发生改变的量。从本质上讲,变量是内存中一小块区域。
5.2 变量定义
格式:数据类型 变量名 = 变量值。
5.3 变量使用的注意事项
名字不能重复;
变量未赋值,不能使用;
long类型的变量定义的时候,为了防止整数过大,后面要加L;
float类型的变量定义的时候,为了防止类型不兼容,后面要加F。
6. 标识符
6.1 标识符概述
给类,方法,变量等起名字的符号。
6.2 标识符定义规则
由数字、字母、下划线(_)和美元符($)组成;
不能以数字开头;
不能是关键字;
区分大小写。
6.3 常见命名约定
小驼峰命名法:方法、变量
约定1:标识符是一个单词的时候,首字母小写;
约定2:标识符由多个单词组成的时候,第一个单词首字母小写,其他单词首字母大写。
大驼峰命名法:类
约定1:标识符是一个单词的时候,首字母大写;
约定2:标识符由多个单词组成的时候,每个单词的首字母大写。
7. 类型转换
7.1 自动类型转换
把一个表示数据范围小的数值或者变量赋值给另一个表示数据范围大的变量。
7.2 强制类型转换
把一个表示数据范围大的数值或者变量赋值给另一个表示数据范围小的变量。
格式:目标数据类型 变量名 = (目标数据类型)值或者变量。
二、运算符
1. 算术运算符
1.1 运算符和表达式
运算符:对常量或者变量进行操作的符号;
表达式:用运算符把常量或者变量连接起来符合java语法的式子就可以称为表达式。 不同运算符连接的表达式体现的是不同类型的表达式。
1.2 算术运算符
符号 | 作用 | 说明 |
+ | 加 | 参看小学一年级 |
- | 减 | 参看小学一年级 |
* | 乘 | 参看小学二年级,与“×”相同 |
/ | 除 | 参看小学二年级,与“÷”相同 |
% | 取余 | 获取的是两个数据做除法的余数 |
注意事项: /和%的区别:两个数据做除法,/取结果的商,%取结果的余数。 整数操作只能得到整数,要想得到小数,必须有浮点数参与运算。
1.3 字符的“+”操作
算术表达式中包含多个基本数据类型的值的时候,整个算术表达式的类型会自动进行提升。
提升规则:byte类型,short类型和char类型将被提升到int类型;
整个表达式的类型自动提升到表达式中最高等级操作数同样的类型
等级顺序:byte,short,char->int->long->float->double
1.4 字符串的“+”操作
当“+”操作中出现字符串时,这个”+”是字符串连接符,而不是算术运算;
在”+”操作中,如果出现了字符串,就是连接运算符,否则就是算术运算。当连续进行“+”操作时,从左到右逐个执行。
2. 赋值运算符
2.1 赋值运算符
符号 | 作用 | 说明 |
= | 赋值 | a=10,将10赋值给变量a |
+= | 加后赋值 | a+=b,将a+b的值给a |
-= | 减后赋值 | a-=b,将a-b的值给a |
*= | 乘后赋值 | a*=b,将a×b的值给a |
/= | 除后赋值 | a/=b,将a÷b的商给a |
%= | 取余后赋值 | a%=b,将a÷b的余数给a |
注意事项: 扩展的赋值运算符隐含了强制类型转换
3. 自增自减运算符
3.1 自增自减运算符
符号 | 作用 | 说明 |
++ | 自增 | 变量的值加1 |
-- | 自减 | 变量的值减1 |
注意事项:++和-- 既可以放在变量的后边,也可以放在变量的前边;
单独使用的时候, ++和-- 无论是放在变量的前边还是后边,结果是一样的;
参与操作的时候,如果放在变量的后边,先拿变量参与操作,后拿变量做++或者--。 参与操作的时候,如果放在变量的前边,先拿变量做++或者--,后拿变量参与操作。
4. 关系运算符
4.1 关系运算符
符号 | 说明 |
== | a==b,判断a和b的值是否相等,成立为true,不成立为false |
!= | a!=b,判断a和b的值是否不相等,成立为true,不成立为false |
> | a>b,判断a是否大于b,成立为true,不成立为false |
>= | a>=b,判断a是否大于等于b,成立为true,不成立为false |
< | a<b,判断a是否小于b,成立为true,不成立为false |
<= | a<=b,判断a是否小于等于b,成立为true,不成立为false |
注意事项: 关系运算符的结果都是boolean类型,要么是true,要么是false。 千万不要把“==”误写成“=”。
5. 逻辑运算符
5.1 逻辑运算符概述
是用来连接关系表达式的运算符。
5.2 逻辑运算符
符号 | 作用 | 说明 |
& | 逻辑与 | a&b,a和b都是true,结果为true,否则为false |
| | 逻辑或 | a|b,a和b都是false,结果为false,否则为true |
^ | 逻辑异或 | a^b,a和b结果不同为true,相同为false |
! | 逻辑非 | !a,结果和a的结果正好相反 |
5.3 短路逻辑运算符
符号 | 作用 | 说明 |
&& | 短路与 | 作用和&相同,但是有短路效果 |
|| | 短路或 | 作用和|相同,但是有短路效果 |
注意事项:逻辑与&,无论左边真假,右边都要执行。 短路与&&,如果左边为真,右边执行;如果左边为假,右边不执行;
逻辑或|,无论左边真假,右边都要执行。 短路或||,如果左边为假,右边执行;如果左边为真,右边不执行。
6. 三元运算符
6.1 三元运算符
格式:关系表达式 ? 表达式1 : 表达式2;
计算规则:首先计算关系表达式的值,如果值为true,表达式1的值就是运算结果;如果值为false,表达式2的值就是运算结果。
三、数据输入
1. 数据输入
1.1 Scanner使用的基本步骤
导包:import java.util.Scanner;
导包的动作必须出现在类定义的上边
创建对象:Scanner sc = new Scanner(System.in);
这个格式里面,只有sc是变量名,可以变,其他的都不允许变。
接收数据:int i = sc.nextInt();
这个格式里面,只有i是变量名,可以变,其他的都不允许变。
四、总结
这次学习基础语法和运算符无疑让我很头大,虽然单个学习起来不难,但是全部加起来想要不出错运用就有困难了,这是熟练度的问题,要靠大量的练习才能解决。但是我又不能在这上面花太多时间,因为还有很多东西要学,只能在以后的学习生活中逐渐提升了。