目标
1.熟悉Eclipse使用
2.掌握什么是标识符
3.标识符的命名规范
4.掌握关键字和保留字
5.掌握变量
6.掌握八种基本数据类型
7.掌握运算符
Eclipse的基本使用(熟悉)
- A:Eclipse是什么?
- Eclipse 是一个开放源代码的,基于Java的可扩展开发平台.IBM公司开发的.
- B:Eclipse的安装
- Eclipse的下载
- https://www.eclipse.org/downloads/
- C:如何创建运行项目
- 代码以项目为基本单位
- 用Eclipse来完成一个HelloWorld案例
第一步:创建项目
选择Java项目
点解next
第二步:创建包
在项目src目录上点击右键
输入包名:
第三步:创建类
在包上点击右键
第四步:编写代码
package com.qf;
public class HelloWorld { public static void main(String[] args) { System.out.println("HelloWorld"); } } |
第五步:运行
代码中右键:
- D:常用视窗介绍
- 1:PackageExplorer 显示项目结构,包,类,及资源
- 2:HelloWorld.java 代码编辑区域
- 3:Console 程序运行的结果在该窗口显示
- 4:Outline 显示类的结构,方便查找,识别,修改
- 5:Problems 代码编译期错误的显示区域
Eclipse的基本配置(熟悉)
- A:窗口方案配置
- 控制台找不到了,怎么办?Window--Show View—Console
- 窗体给弄乱了,重置窗体: windows-perspective-reset perspective
- B:eclipse设置java环境
- windows-preferences-java-installed JRES
- C:行号的显示和隐藏 显示:在代码区域的最左边的空白区域,右键 -- Show Line Numbers即可。 隐藏:把上面的动作再做一次。
- D:字体大小及颜色
- a:Java代码区域的字体大小和颜色:
window -- Preferences -- General -- Appearance -- Colors And Fonts --Java修改 -- Java Edit Text Font
- E:设置当前项目的java运行环境的版本
- 右键项目-properties -- Java Complier
- F:java项目jre缺失
- 右键项目-properties -- Java Builder Path -- Add Library -- JRE System Library -- Installed JREs
Eclipse中快捷键使用(熟悉)
- A:Alt+/ 起提示作用
- B:main+alt+/,syso+alt+/,给出其他提示
- C:补充输出语句,选中需要输出的部分,alt+/选择最后一项即可
第一节:标识符(掌握)
1.1 什么是标识符
Java对包、类、方法、参数和变量等要素命名时使用的字符序列称为标识符。
1.2 标识符的命名规则
1. 由字母(含英、中、日、俄等)、数字、下划线(_)和美元符号($ 音:dollar)组成。
2. 不能以数字开头。
3. 区分大小写。
4. 长度无限制。(一般不要超过15个字符)
5. 不能是Java中的保留字和关键字。
1.3 标识符命名习惯
1. 标识符命名习惯:见名知意。
2. 变量名,方法名,参数名: 首字母小写,如果多个单词组成,第一个单词首字母小写,剩下的单词首字母大写(驼峰式命名法)
3. 类名:单词首字母大写,多个单词组成每个单词首字母大写(帕斯卡命名法)
如:
合法标示符:HelloWorld,user_name,$abc_123,_userName,schoolName
非法标示符:2UserName,user#name,hello world
1.4 关键字、保留字
关键字:Java中有一些赋予特定的含义,有专门用途的字符串称为关键字(keyword)。全部为小写。
保留字:没有定义用途,但保留备用。goto、const
第二节:常量、变量(掌握)
2.1 常量
也称为数据常量,程序运行中固定不变的数据。
整型常量:123 、100、200、250、500
Java语言整型的三种表示形式:
十进制整数:如12, -314, 0,8,7。
八进制整数:要求以0开头,如0127表示八进制的127 。
十六进制数:要求0x或0X开头,如0x1df3。
浮点数常量(小数) :3.14 float ...
字符常量:’a’ char
布尔(逻辑)常量:true、false
字符串(String)常量:"a"、"abc"、"hello world", ""
null常量:表示的引用为空对象
2.2 变量
变量其实是内存中的一块存储空间,使用变量名来访问这块空间。因此,每一个变量使用前必须要先声明,然后进行赋值(填充内容),才能使用,变量中存储的数据就是常量。
如:int(数据类型) age(变量名);
2.3.1 变量声明、初始化
变量的使用: 1. 先声明,再赋值(初始化) 数据类型 变量名; 变量名 = 变量值; 举例:int i; i=100; 2. 声明同时赋值 数据类型 变量名 = 变量值; int j=20;
2.3.2 变量的分类
1. 按所属的数据类型划分: 基本类型变量:持有原始值。 引用类型变量:持有引用值。(某个对象的引用,不是该对象本身) 2. 按被声明的位置划分: 局部变量:方法或语句块内部定义的变量 成员变量:方法外部、类的内部定义的变量
2.3.3局部变量和成员变量
1. 声明的位置不同: 局部变量的作用域就是它所在的方法或语句块 成员变量的作用域是整个类体。 2. 是否拥有默认值: 成员变量有默认值 局部变量没有默认值
第三节:数据类型(掌握)
Java数据类型可分为两大类:基本数据类型和引用数据类型
基本数据类型:byte、short、int、long、float(单精度)、double(双精度)、char、boolean
引用数据类型:类、接口、数组、枚举(后面讲解)、注解
3.1 基本数据类型
整数型---- byte(字节), short(短整型), int(整型), long(长整型)
浮点型---- float(单精度浮点型), double(双精度浮点型)
字符型---- char
布尔型---- boolean
基本数据类型的存储长度
Java中所有的基本数据类型都有固定的存储范围和所占内存空间的大小,而不受具体操作系统的影响,以保证Java程序的可移植性 byte: 1个字节 ,范围 -128 到 127 short: 2个字节 ,范围 -32768到 32767 int:4个字节 ,范围-2147483648到2147483647 long :8个字节,范围-9223372036854775808到9223372036854775807 float:4个字节,有效位数7-8位(2的-149次方到2的128次方-1) double:8个字节,有效位数15-16位(2的-1074次方到2的1024次方-1) char:2个字节 0-65535 65536个字符
如下图:
boolean:不确定:
Java虚拟机规范:在Java虚拟机中没有任何供boolean值专用的字节码指令,Java语言表达式所操作的boolean值,在编译之后都使用Java虚拟机中的int数据类型来代替,而boolean数组将会被编码成Java虚拟机的byte数组,每个元素boolean元素占8位。这样我们可以得出boolean类型占了单独使用是4个字节,在数组中又是1个字节。具体还要看虚拟机实现是否按照规范来,所以1个字节、4个字节都是有可能的。
3.3 整数型
Java语言的整型数值默认为int型,如:int i = 3; 要声明long型可以加'l'或'L',如:long l = 3L; 注意:long赋值:在数值超过int的表述范围时(2147483647),需要加上l/L
3.4 浮点型
float: 单精度浮点数(精度7,8位) 4个字节 double:双精度浮点数 (精度15,16位) 8个字节 Java浮点型常量默认为double型,如要声明一个常量为float型,则需在数字后面加f或F,如: double d = 3.14; float f = 3.14f; 注意:float double存储的数据都是近似值。
3.5 字符型
char型数据用来表示通常意义上字符 char c = 'A'; char c2= '好'; Java语言中还允许使用转义字符'\'来将其后的字符转变为其它的含义: char c2 = '\n';
// \ 转义字符 可以将后面的n 转义成为 换行的操作 System.out.print("i的值= "+i+"\n"); System.out.print("y的值 = "+y); // \t 水平制表符 System.out.print("99\t98\t97\t96"); System.out.print("你好\"你好"); System.out.print("你好\\你好");
3.6 布尔类型
boolean类型适于逻辑运算,一般用于程序流程控制 boolean类型数据只允许取值true或false,不可以用0或非0的整数替代true和false。 示例: boolean b = false; boolean c = true;
3.7 基本数据类型的转换
1 基本数据类型之间的转换分为以下两种: *自动类型转换 *强制类型转换 特殊:boolean 类型不能转换成任何其它基本数据类型。 2. 自动类型转换:数据类型取值范围小的转为取值范围大的 * byte ---> short--->int--->long * char---> int * byte,short,char三者在计算时会转换成int类型 (了解) * int整型常量和字符常量在合理范围内可以直接赋值给 byte、short、int、char (了解) 3. 强制类型转换:数据类型取值范围大的转为取值范围小的. 需要加强制转换符,也就是(要转换的数据类型)。 long a = 100L; int i = (int)a; 但有可能造成精度降低或数据溢出,使用时要小心。
第四节:运算符和表达式(掌握)
4.1 运算符的分类
1.算术运算符:+ 、 - 、 * 、 / 、 % 、 ++ 、 -- 2.赋值运算符:= 、 += 、 -= 、 *= 、 /= 、 %= 3.关系运算符:> 、 < 、 >= 、 <= 、 == 、 != 4.逻辑运算符:! 、 & 、 | 、 ^ 、 && 、 || 5.位运算符:& 、 | 、 ^ 、 ~ 、 >> 、 << 、 >>>(了解) 6.字符串连接运算符:+ 7.三目运算符 ?:
4.2 算数运算符:
描述 | 运算符 | 运算符 | 描述 |
加 | + | % | 取余数 |
减 | - | ++ | 自增 |
乘 | * | -- | 自减 |
除 | / | 取模 |
上机练习:
//除法 / int n1=5; int n2=2; System.out.println(n1/n2); //求余 % System.out.println(n2%n1);
//上机练习1 : 有一个三位数,求十位上的数字 int num=856;
System.out.println(num%10); System.out.println(num/10%10); System.out.println(num/100); |
上机练习:
int d = 5; System.out.println((d++));// 自身加1 System.out.println((d));// 自身加1 // ++放在前面是先自身加 再参与运算 int e = ++d + 6; System.out.println(" =e "+ e);// 自身加1 // --放后面 先参与运算 再自身减一 int f = d-- + 6; System.out.println(" f = "+ f);// 自身加1 |
4.3 赋值运算符:
运算符 | 描述 | 运算符 | 描述 |
= | 赋值 比如:int i=10; | /= | 除等于 |
+= | 加等于 | %= | 模等于 |
-= | 减等于 | ||
*= | 乘等于 |
上机练习
int num=10; num+=5;// num=num+5; num-=5;// num=num-5; System.out.println(num); System.out.println("---------上机练习--------"); //有一个四位数字的会员卡号,使用“/”和“%”运算符分解获得会员卡各个位上的数字,将各个位上数字求和 int member=1234; int ge=member%10; int shi=member/10%10; int bai=member/100%10; int qian=member/1000; int sum=ge+shi+bai+qian; System.out.println(sum); |
4.4 关系运算符:
运算符 | 描述 | 运算符 | 描述 |
== | 相等于 | <= | 小于等于 |
!= | 不等于 | >= | 大于等于 |
< | 小于 | ||
> | 大于 |
上机练习:
boolean b = 3>=3; // 关系运算符 最终的结果都是boolean类型的 boolean b2 = 3==2; // == 判断等号两边是否相等 如果相等就是true boolean b3 = 3!=2; // != 判断等号两边是否不等 如果不等就是true System.out.println(b3); |
4.5 逻辑运算符:
逻辑运算符用于对boolean型数据进行运算,运算结果总是boolean型
运算符 | 描述 | 运算符 | 描述 |
& | 逻辑与 | && | 短路与 |
| | 逻辑或 | || | 短路或 |
^ | 异或 | ||
! | 逻辑非 |
上机练习:
public static void main(String[] args){ //&逻辑与 或 System.out.println(true&true); System.out.println(true&false); System.out.println(true|true); System.out.println(true|false); System.out.println(!true); //异或 : 不相同为真,相同为假 System.out.println("-------------------"); System.out.println(true^false); System.out.println(true^true); System.out.println(false^false); // && 短路 与 System.out.println("***************"); int num1=10; int num2=5; boolean b=num1<num2 && num1++>100; //num1<num2 false System.out.println(b); System.out.println(num1); //|| 短路或 boolean b2=num1>num2 || num1++>100; System.out.println(b2); System.out.println(num1); } |
4.6 位运算符(了解)
运算符 | 描述 | 运算符 | 描述 |
& | 按位与 | >> | 右移 |
| | 按位或 | << | 左移 |
^ | 按位异或 | >>> | 无符号右移 |
~ | 按位取反 |
上机练习:
int n1=5;//=0000 0101 int n2=7;//=0000 0111 int r=n1&n2; System.out.println(r);
System.out.println("右移"); int n1=-8;//1000 000000000000000000000000 1000(最前边的1为符号位) n1=n1>>1;//1000 000000000000000000000000 0100(正数右移高位补0,负数右移高位补1) System.out.println(n1);//-4
System.out.println("左移"); int n2=-3;//1000 000000000000000000000000 0011 n2=n2<<3;//1000 000000000000000000000001 1000 System.out.println(n2);//-24
System.out.println("无符号右移");//无论是正数还是负数,高位通通补0。 int n3=-8;//10000000000000000000000000001000 n3=n3>>>1;//01000000000000000000000000000100 System.out.println(n3);//2147483644 |
4.7 字符串连接符 +
如果字符串和基本数据类型变量、常量连接以后,结果变成了字符串。
上机练习:
System.out.println("Hello"+"World!"); System.out.println("Hello = "+ 5);// 字符串和基本数据类型变量 常量连接以后 都变成了 字符串 System.out.println("Hello = "+ 5+ 8); System.out.println(5+""); |
4.8 三目运算符 ? :
X ? Y : Z
X为boolean类型表达式,先计算x的值,若为true,整个三目运算的结果为表达式y的值,否则整个运算结果为表达式z的值。
上机练习:
int java=70; String r=java>90?"优秀":"良好"; System.out.println(r); System.out.println("------------嵌套-----------"); String r2=java>90?"优秀":java>80?"良好":"一般"; System.out.println(r2); |
4.9 运算符的优先级
运算符 | 结合性 |
[ ] . ( ) (方法调用) | 从左向右 |
! ~ ++ -- -(负号) | 从右向左 |
* / % | 从左向右 |
+ - | 从左向右 |
<< >> >>> | 从左向右 |
< <= > >= instanceof | 从左向右 |
== != | 从左向右 |
& | 从左向右 |
^ | 从左向右 |
| | 从左向右 |
&& | 从左向右 |
|| | 从左向右 |
?: | 从右向左 |
= | 从右向左 |
4.10 表达式
表达式:符合一定语法规则的运算符和操作数的序列 上机练习:
int x = 10; int y = 6; int a = 20; int b = 2; int result=-x/y+a-b+a%x+-a; //-10/6=-1+20=19-2=17+20%10=17-20=-3 System.out.println(result); |
表达式的值和类型 * 对表达式中操作数进行运算得到的结果称为表达式的值 * 表达式的值的数据类型即为表达式的类型
说明:复杂表达式最好用括号区分。