1:快捷键和DOS命令的练习。
桌面空白-->按住Shift -->点击鼠标右键打开命令窗口(控制台).也可以 window键+r(同时按住)-->输入 cmd --> 打开 -->出现控制台
进入d盘: d:
创建目录: md 文件夹名称
删除目录: rd 文件夹名称 --->只能删除空目录
进入下一级目录: cd 文件夹名称
回退上一级目录: cd.. 文件夹名称
回退根目录: cd/
清屏命令: ds:cleaer scrren
2: 下载JDK
打开JDK安装包 --->点击安装 --> C盘换成 D盘--> 创建文件夹java -->点击下一步 --> 取消安装JRE(可安装可不安装)--->完成--->运行
3:独立编写Hello World程序。
打开控制台C:\Users\Administrator\Desktop>d:
D:\>cd D:\java\binD:\java\bin>javac HelloWorld.java
D:\java\bin>
class的作用
System.out.println( );
main函数的作用
public static void main(String[] args) {
}
输出语句的作用:
输出到终端,输出到文件.
4:Java源文件的后缀是什么?编译java源文件的命令是什么?
.java javac ( ).java__________
5:几个小问题?
A:JDK,JRE,JVM分别是什么?B:Java语言是跨平台的吗?JVM是跨平台的吗?
C:环境变量path和classpath的区别?
A: JDK就是java开发工具包,JRE是指java运行环境,JVM是java虚拟机.
B:Java语言是跨平台;JVM不是跨平台的,如果跨平台的,那么只需要一个jvm就可以在不同的操作系统上运行java应用程序.
C:区别:path环境变量里面记录的是可执行性文件,如.exe文件,对可执行文件先在当前路径去找,如果没找到就去path环境变量中配置的路径去找
classpath环境变量里记录的是java类的运行文件所在的目录
6:什么是注释?注释分为几种?注释有什么作用?
用于解释说明文字的程序分别为: 1)单行注释 // 注释文字 2) 多行注释 /* 注释文字 */ 3) 文档注释 /** 注释文字 */
作用: 生成文档 跟踪代码依赖性 在编译时进行格式检查
例如:
把HelloWorld案例加入注释写出来
需求:
写一个程序,在控制台输出HelloWorld
分析:
写一个java程序,首先定义类。
程序要想能够被jvm调用,
必须定义main方法。
程序要想有输出结果,必须用输出语句。
实现:
定义类用的是class关键字,
后面跟的是类名
main方法基本格式
输出语句基本格式
7:什么是关键字?有什么特点?
是被java语言赋予特定含义的单词 特点:组成关键字的字母全部小写8:什么是标识符?由哪些部分组成?常见的命名规则有哪些?
标识符:就是给类.接口.方法.变量等起名字时使用的字符例.标识符只能由字母、数字和下划线3种字符组成,
常见的命名规则:
1)包(其实就是文件夹,用于解决相同类名问题)
单级和多级分别举例
2)类或者接口
一个单词和和多个单词分别举例
3)方法和变量
一个单词和和多个单词分别举例
4)常量
一个单词和和多个单词分别举例
9:什么是常量?常量的分类?字面值常量表现形式有哪些?
常量:在程序执行的过程中其值不可以发生改变分类 1)字面值常量
字符串常量 用双引号括起来的内容
整数常量 所有整数
12,23
小数常量 所有小数
12.34,56.78
字符常量 用单引号括起来的内容
‘a’,’A’,’0’
布尔常量 较为特有,只有true和false
空常量 null(数组部分讲解)
2)自定义常量
10:计算出十进制46对应的二进制,八进制,十六进制的值。
至于进制的内容今天在练习一次,以后就可以不用练习了。后面能听懂就OK了。不用浪费太多时间。
(可用计算器验证你算的是否正确)
46 对应二进制: 0b101110 八进制:56 十六进制:
11:什么是变量?变量的定义格式?要使用变量需要注意什么?
在程序执行的过程中其值可以发生改变.定义格式---数据类型 变量名=初始化值
---格式是固定的
注意:作用域
变量定义在哪一级大括号中,哪个大括号的范围就是这个变量的作用域。相同的作用域中不能定义两个同名变量。
初始化值
没有初始化值不能直接使用
在一行上建议只定义一个变量
12:Java中的数据类型分几类?基本数据类型有哪些?
基本数据类型 引用数据类型1)整数类型 byte 1 (占用的字节数) -128到127(范围)
//
int i = 10000 ;
System.out.println(i);
System.out.println("-------------------------");
System.out.println(b)
2)字节类型 int 2
//
byte b = 100 ;
b = 120;
System.out.println(b);
3)短整型 short 4
//
short s = 200 ;
System.out.println(s);
System.out.println("-------------------------");
4)长整类型 long 8
//
long l = 100000000000000L;
System.out.println(l);
5)浮点类型 float double
// 4
double d = 12.56 ;
System.out.println(d);
//
float f = 12.34;//默认double, 8
float f = 12.34f;
System.out.println(f);
6)字符类型 char 2
// char ch = 'a' ;
char ch2 = 'A' ;
System.out.println("ch:"+ch+",ch2:"+ch2);
7)布尔类型 boolean 1
//
boolean flag = true ;//flag:旗帜标记
boolean b2 = false;
System.out.println(flag);
13:(可以自己做做)数据类型转换:
隐式转换:强制转换:
面试题:
第一题:
byte b1=3,b2=4,b;
b=b1+b2;
b=3+4;
哪句是编译失败的呢?为什么呢?
第二题:
byte by = 130;有没有问题?有问题如何解决?结果是多少呢?
14:常见的算术运算符有哪些?
+(正号),-(负号),+(加),-(减),/(除号),%(取模),*(乘),++(自增),--(自减),+(字符串相加)+运算符的作用有哪些?
用来相加的
除法和取余的区别?
一个返回商,一个返回余数
++和--的使用规则?
1)单独使用
不管++或者--在数据的前面,或者在数据的后面,嘛呢都是自增1或者自减1;
2)参与运算使用
++或者--在数据的面前,先自增1或者自减1,然后把计算机的额结果再运算;
++或者--在数据的后面,县运算,在进行自增1或者自减1;
15:常见的赋值运算符有哪些?
+=,-=,*=,/=,%=, (不能=写成==)(=为基本的赋值运算符,其他的为扩展运算符)+=运算的作用是什么?
把左边的数据和右边的数据,把赋值给左边变量.
扩展的赋值运算符有什么特点?
会对右边的数据进行一个强制转换,使对应左边的数据相匹配.
16:short s = 1; s = s + 1;有没有问题?如果有怎么解决?
short s = 1; s += 1;有没有问题?如果有怎么解决?第一个问题:
s =s +1;
默认提升 byt,short,char-->int-->long-->float-->double:
s-->int类型:s+1:属于int类型;
用短整型接受int类型的值:有问题!必须强制类型转换
第二个代码:s +=1;扩展的赋值运算符,隐藏了一个强制类型转换,所以不会出错
public class OperatorDemo2 {
public static void main(String[] args) {
// short s =1;
// //必须强制类型转换
// s = (short)(s+ 1);
short s =1;
s+=1;//隐藏一个强制类型转换 s =(short)(s+1);
System.out.println(s);
}
}
17:常见的关系运算符有哪些?
==(相等于),!=(不等于),<(小于),>(大于),<=(小于等于),>=(大于等于),instanceof(检查是否是类的对象)(不能把==写成=)
关系运算符的结果有什么特点?
结果都是boolean型,要么是false,要么就是true.
18:常见的逻辑运算符有哪些?
&(逻辑单与),&&(双与),^(逻辑异或),!(非),丨(逻辑单或),丨丨(双或).&和&&的区别是什么?
单&时,左边无论真假,右边都进行运算;
双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算
|和||的区别是什么?
双或时,左边为真,右边不参与运算。
19:位运算符^的特点是什么?
一个数据被另一个数据位异或两次,那么结果是该值本身20:如何实现对两个整数变量的值进行互换。
public class OperatorDemo3 {public static void main(String[] args){
//有两个变量
int a = 10 ;
int b = 20 ;
//结论:a =20 ,b =10
//交换前
System.out.println("a:"+a);
System.out.println("b:"+b);
//实际开发中:使用第三方变量来进行交换:
//方式1:
// int temp = a ;
// a = b ;
// b = temp ;
//交换后
//方式2:位^的特点::
//面试的时候使用这种方式
//等号左边:a,b,a
//等 号右边:a^b
// a = a ^ b ;//a = a ^ b
// b = a ^ b ;//b = a ^ b ^ b ;
// a = a ^ b ;//a = a ^ b ^ a ;
//方式3:
a = a + b ;//a = a + b = 30 ;
b = a - b ;//b = 30 -20 ;
a = a - b ;// a = 30 - 10 ;
System.out.println("a:"+a);
System.out.println("b:"+b);
}
}
21:三元运算符的格式是什么?
(关系表达式)?表达式1:表达式2;如果条件为true,运算后的结果是表达式1;
如果条件为false,运算后的结果是表达式2;`
执行流程是什么?
表达式如果成立,那么执行true的结构,否则就是false.
22:使用三元运算符完成如下练习
比较两个数是否相等public class OperatorDemo {
public static void main(String[] args) {
int a = 100;
int b= 200;
// boolean flag =(a==b)?true:false;
//
boolean flag =(a==b);
System.out.println(flag);
}
}
获取两个数中最大值
public class OperatorDemo {
public static void main(String[] args) {
//定义两个变量
int a = 20;
int b = 30;
//定义一个变量
int max =(a < b )? b: a;
System.out.println("max:"+max);
System.out.println("---------------");
获取三个数中最大值
public class OperatorDemo {
public class OperatorDemo2 {
public static void main(String[] args) {
// 定义三个变量
int a=10;
int b=30;
int c=20;
//方式
int temp=(a > b)? a :b;
//定义这个最大变量值
int max=(temp > c)? temp :c;
System.out.println("三个数据最大值:"+max);
}
}
23:流程控制语句有几种?
顺序结构语句 选择结构语句 循环结构语句24:if语句的格式有几种?注意事项是什么?分别在什么时候使用?
格式1:if(表达式){
语句;
}
执行流程:如果表达式成立,那么执行语句;否则,不执行
格式1中的注意事项:
1)如果if语句中只有单条语句,那么{}可以省略,但是不建议省略
2)有左大括号的地方不能有分号,有分号的地方不能有左大括号
3)if(表达式){} 这里面的表达式不管是简单的还是复杂的,都是boolean类型
4)if语句中的表达式:求数据是否相等:不能==写成=
f语句的中格式2:
if(表达式){
语句1;
}else{
语句2;
}
执行流程:首先判断表达式是否成立,如果成立,则执行语句1,否则执行语句2;
if语句的第三中格式:
if(表达式1){
语句1;
}else if(表达式2){
语句2;
}else if(表达式3){
语句3;
}
....
....
else{
语句n+1;
}
执行流程:先判断表达式1是否成立:如果成立,执行语句1,if语句结束;
如果表达式1不成立,还需要判断表达式2是否成立,如果成立,if语句结束
最终如果上述的表达式都不成立,执行else里面的语句