1、变量与标识符
-
变量:是系统为程序分配的一块内存单元,用来存储各种类型的数据;根据所存储的数据类型的不同,有各种不同类型的变量。变量名代表这块内存中的数据的标识符,变量代表这块内存中的数据值
-
变量分类:
- 按所属的数据类型划分:基本数据类型变量、引用数据类型变量
- 按被声明的位置划分:
- 局部变量:方法或语句块内部定义的变量
- 成员变量:方法外部、类的内部定义的变量
-
标识符:指Java对包、类、方法、参数和变量等要素命名时使用的字符序列
-
Java标识符命名规则:
- 由字母、数字、下划线_和美元符号$组成;
- 不能以数字开头;
- 区分大小;
- 长度无限制;
- 不能使Java中的关键字和保留关键字
- 标识符命名习惯:驼峰命名法(如HelloWorld)、见名知意。以单词或单词组来命名
- 合法标识符:num、user_name、_userName、$abc_123
- 非法标识符:2UserName、user#Name、Hello 小二、class
2、八种基本数据类型
- 字节(Byte):是计算机文件大小的计算单位
- 1个字节(Byte)=8个位(bit)
- Bit为“位”或“比特”,是计算机运算的基础;二进制中的一位,是二进制最小的信息单位,二进位可以用来表示一个简单的正/负的判断,有两种状态的开关(如电灯开关)
- 单位换算:
1byte=8bit
1KB=1024byte
1MB=1024KB
1GB=1024MB
1TB=1024GB
1PB=1024TB
__ 说明:在内存计算过程中,字节少的数据运算速度更快;在硬盘存储中,字节少的数据类型也可充分存入更多的数据
- 数据类型
3、基本数据类型的声明
- 变量声明格式:
- 声明变量:
类型 变量名; - 声明的同时给变量赋值:
类型 变量名=值; - 给已声明过的变量赋值:
变量名=值;
- 声明变量:
4、进制与转换
- 计算机进制通常有:十进制、二进制、八进制、十六进制
- 二进制:计算机中的数据都以二进制数字保存,逢二进一,只有0和1两个值
- 八进制:基数为八;Java中八进制数据要以0开头(如0123)
- 十六进制:基数为十六,用abcdef表示0-9之上的值;Java中十六进制数据要以0x或0X开头,如0x23D
- 补码
_ 正数的补码:与其源码形式相同
_ 负数的补码:将该数的绝对值的二进制形式按位取反再加一
5、基本数据类型转换
(1)自动类型转换:
(2)强制类型转换
6、关键字
7、转义字符
8、运算符与优先级
(1)算术运算符
(2)赋值运算符:
- 将一个值赋值给一个变量,运算顺序从右至左
(3)关系运算符 - 作用是比较两边的操作数,结果总是boolean型
- 操作题:创建一个键盘输入的工具
首先导入包:
!!!注:除了lang包里面的类不需引入,其他的类均须引入
(4)逻辑运算符 - 对boolean型结果的表达式进行运算,运算结果为boolean型
- 操作题:
(5)位运算符 - 对两个操作数中的每一个二进制位都进行运算
- 位运算符功能:
- 按位取反~
- 按位与&
- 按位或|
- 按位异或^
(6)位移运算符
- 左移:“a<<b;”将二进制形式的a逐位左移b位,最低位空出的b位补0
- 带符号右移:“a>>b;” 将二进制形式的a逐位右移b位,最高位空出的b位补原来的符号位
- 无符号右移:“a>>>b;” 将二进制形式的a逐位右移b位,最高位空出的b位补0
- 操作题
以最快速度计算8*4的结果
如何不通过第三个变量,交换a、b的数值
!!!注:通过异或进行两个数位置交换的前提是a、b的值不同
(7)三目运算符
- 操作题:通过键盘输入一个成绩,判断是否及格
(8)运算符优先级
9、分支语句
(1)if条件句
- 操作题
输入一个字符,判断是大写字母还是小写字母,输出提示信息
写一个程序,判断某一年是否为闰年(被4整除但不能被100整除,或能被400整除是闰年,否则是平年)
- 分支嵌套
- 嵌套语句操作题
给出一个百分之成绩,要求输出成绩等级A、B、C、D、E。90分以上输出A,8089分输出B,7079分输出C,60~69分输出D,60分一下输出E。
输入两个整数,打印他们的大小关系,是大于、小于还是等于。
多条嵌套分支,设计一个程序,根据天气情况选择外出或在家,外出是逛街还是逛公园,在家是看电影还是玩游戏。
(2)switch语句
- 操作题
编写一个程序实现如下功能,输入1、2、3、4、5、6、7(分别对应星期一至星期日)中的任何一个数。
输入一个月数,然后输出对应月份有多少天(不考虑软年),将天数输出
直接用JDK1.7的字符串条件判断,确定两个数是执行加、减、乘、除操作。
(3)分支语句比较和经验总结
10、循环语句
循环语句分为:while、do while、for
(1)while循环语句
语法:
while(条件表达式){
//语句块
}
- 符合条件,循环继续执行;否则,循环退出
- 特点:先判断,再执行
- 操作题
1、计算1-100之间所有整数之和,5050
2、计算10的阶乘
3、打印100以内所有的奇数、偶数和3的倍数(不包括100)
(2)do while循环语句
- 语法:
do{
循环操作
}while(循环条件); - 先执行一遍循环操作,符合条件,循环继续执行,否则,循环退出
- 特点:先执行,再判断
- 操作题
逆序输出10~0
2、Java阶乘求和1!+2!+…+10!
(3)for循环语句
- 语法:
for(初始化参数;判断条件;更新循环变量){
循环体;
} - 关键字:continue表示跳过当次循环,继续下次循环。
- For循环的六中写法:
1、标准写法;
2、表达式1省略,但在外部声明;
3、表达式2省略,死循环;
4、表达式3省略,但是要声明在循环内部;
5、表达式1、3省略,但是要声明在循环的外部和内部;
6、三个表达式都省略,死循环。
- 操作题
打印输出0~200之间能被7整除但是不能被4整除的所有整数
2、输出10个斐波那契(Fibonacci)数列:1 1 2 3 5 8 13 21 34 55.(特点:前两个数数值为1,从第三个数开始,该数是前两个数之和)
(4)多重循环
- 操作题
1、打印:
*
**
***
****
*****
2、打印九九乘法表
3、打印:
*
**
***
****
*****
4、打印:
*