通过这一周的学习,我学到了许多知识,可以成功的自己写出一些简单的程序,目前老师讲的我还是可以跟得上,希望自己在后面的时间努力学习,规律学习,跟着老师的节奏慢慢向前,争取做到最好,以下便是我这一周总结的知识点:
(1):Java的发展史和其中的组成部分,其中我觉得重要知识点是:
jdk:开发环境,其中包含jre和一些重要的类的包.
jre:运行环境,其中包含jvm和一些工具包
jvm:虚拟机
其中 jdk>jre>jvm
(2):java中的注释类型:
单行注释://
多行注释:/*哈哈*/
文档注释:/** 哈哈*/
(3):什么事关键字:
在java语言中被赋予特殊含义的词,并且在一些编译软件中有颜色的单词.
举例:class public void new import static if
(4)标识符:用于给包,类,接口,变量,长量起名字的字符.
组成:26个英文字母
数字
下换线_
$符号
严格区分大小写
命名方法: 大驼峰命名法(类名)
小驼峰命名法(变量和方法)
注意事项:不可以以关键字命名
不可以以数字开头
严格区分大小写
满足组成的一种即可,不可以有非法字符
(5):长量:在程序执行过程中其值不变的量.
字面值长量:
字符串长量
字符长量
整数长量
小数长量
布尔长量
空常量
自定义长量;
进制也属于长量;
(6):8421码:实现二进制和十进制的快速转换.
(7):变量:在程序执行过程中其值发生改变的量.
基本数据类型:四类八种
整数类型:默认int
byte 占一个字节(8比特) 范围-128-127
short:占两个字节
int:四个字节
long:八个字节 定义时初始化值后加L或l
浮点类型:
float:单精度 占四个字节 定义时初始化值后加F或f
double:双精度 占八个字节
字符类型:
char: 占两个字节
布尔类型:
boolean:true false 不参与转换只表示真假
引用数据类型:
(8)定义变量之一的事项:
一个变量只能定义一次
一行定义一个变量(代码规范风格)
一行可以定义多个代码
定义的变量可以先初始化制但是最后一定要初始化
(9)变量运算中的显示转换:强转 可以把系统默认更改的类型强制运行
格式: (目标数据类型) 变量名=(目标数据类型)(表达式)
注意:有损精度.
(10)隐式转换:byte short char三者不能相互转化,参与运算时默认转换为int类型
(11)java 运算符;
算数运算符:+ - * / %(模)
扩展:++ --
单独使用时++是自增1,--时自减1
参与运算时++a先运算在复制,a++赋值在运算,--也一样.
赋值运算符: = (需要手动输入强转)
扩展运算符:+= -= *= /= %= 特点:(可以隐藏强转)
关系(比较)运算符:< > <= >= == !=
逻辑运算符: & :有false则false
| :有true则true
!:非true则false,非false则true
^:相同则false,不同则true
扩展符号:
&&:左边为true则右边执行,左边为false则右边不执行(与&的区别:&无论左边是 true还是false右边都执行,而&&左边为false则短路右边不执行)
||:左边为true则右边不执行,
位运算符:
a&b 有零则零
a|b 有一则一
a^b 相同为零 不同为一 特点(一个数被另一个数位或与两次是它自己)
~: 按位取反不论符号位
>>:向右移最高符号位为1补1最高符号位为零补0(右移的数据/2^移动数量)
<<:向左移右边补0(左移的数据*2^移动次数)
>>>: 无论最高位是几都补零
三元(三木)运算符:(表达式)?执行true:执行false
(12)键盘输入:让程序变得更加灵活
步骤
导包:import java.util.Scanner;
创建一个键盘录入对象: Scanner 对象名=new Scanner(System.in);
开始录入数据 :使用int类型举例
Scanner类的功能
public int nextInt():录入下一个int类型
"请您输入一个数据:"
int 变量名 = 对象名.nextInt() ;
录入一个数据;
String 变量名=对象名.nextString();
注意: 输入两个数据不可以第一个是int 第二个是String
解决方法(1);:重新建立一个键盘录入对象
(2):String 变量名=对象名,next
(13)流程控制语句:
顺序结构语句
进入到主程序之后,main方法被jvm调用之后
代码依次由上而下进行执行!
System类:后期学习
功能:System.exit(0) ; 正常终止jvm
选择结构语句
表达式1: if语句结构部 if(表达式){
语句
}
(注意左大括号前不能有封号)
先判断表达式是否成立成立则执行语句体不成立则不执行;
表达式2:if(表达式){
语句1
}else{
语句2
}
先判断表达式以是否成立成立执行语句1,不成立执行语句2.
if格式2与三元运算符的区别:相对三元运算符:范围更大:流程控制语句,既 可以操作输出语句也可以操作具体的数据值
三元运算符:只能操作具体的数据(int,String字符串数据...)
三元能够实现的,一定能够使用if格式2
但是反之,if能够实现,三元运算符不一定能够实现!
if格式2的嵌套:if(表达式1){
if(表达式2){
语句1;
}else{
语句2;
}
}else{
if(表达式3){
语句3;
}else{
语句4;
}
}
针对多个条件进行判断
if语句格式3
针对多种情况进行判断
if(表达式1){
语句1;
}else if(表达式2){
语句2;
...
...
...
}else{
语句n;
}
switch语句:
表达式switch(表达式){
case 值1:
语句1;
break;
case 值2:
语句2;
break;
....
...
....
default:
语句n;
break;
}
执行流程:
变量值和case的值进行比较如果匹配则执行该语句,如果匹配执行语句然后break结束,如果不匹配则执行default语句结束.
case具有穿透性所以每个
注意事项:
1)case语句后面的值只能是常量,不能是变量
2)书写switch语句的时候,case语句必须存在break语句,结束switch语句的!
如果没有书写break语句,会造成"case穿透!"现象
3)switch语句的结束条件
a)遇见break结束
b)程序默认执行末尾结束
4)default语句:可以在switch语句中的 任何位置
如果在语句中,必须携带break; 否则case穿透
如果在语句的末尾,break是可以省略的,不建议!