一 :
(1) 学习了计算机基础知识(软件/硬件)
(2) java语言的特点:
面向对象语言的一种
跨平台
开源
(3) 了解了java平台版本以及历史.
(4) 开发一个Java应用程序
jre:Java程序运行环境,也包括jvm以及java所需的核心类库.
jvm:java虚拟机
jdk: java开发工具包,包含jre以及开发工具的包.
三者之间的关系: jvm<jre<jdk
(5) 了解了什么是关键字:
关键字是指被Java语言赋予特定含义的词.
class :表示创建一个类(Java语言最基本的单元)
public:权限修饰符的一种
static:静态修饰符号
void:和java的方法有关
(6) 什么是标识符:
针对包,类,接口,方法,变量,常量等起名字的字符序列
标识符的组成:
1.26个英文字母(大小写)
2.数字字符
3.$符号
4. _下划线符号
5.严格区分大小写的
包: (目录/文件夹) 都是字母小写 或者可以有"_"
类: 如果是一个单词 首字母大写 其余小写 例:class Student{}
如果是多个单词组成 每个单词首字母都大写 其余小写 例: class DataTypeDemo{}
接口: 与 类 相同
方法: 如果是一个单词 字母全部小写 例: main ()
int price = 10;
如果是多个单词 第一个单词全部小写 从第二个单词开始每个单词的首字母大写其余小写
例: checkUserName
int appleprice = 10;
变量: 与 方法 相同
常量: 如果是单个单词 字母全部大写 例:HELLO
如果是多个单词 每个单词字母都大写 单词与单词之间用"_"隔开
标识符的注意事项:
1.数字字符不能作为标识符的开头位置
2.不能是Java中的关键字
3.Java严格区分大小写,我们在起名字的时候:见名知意
4.满足条件:满足组成的一种即可!不能是非法字符
(7) 什么是常量:
在程序执行过,其值不发生改变的量
分为: 字面值常量 自定义常量
1.字面值常量:
字符串常量:使用双引号包裹起来的内容:称为"字符串常量" "HelloWorld"
字符常量:使用单引号包裹起来的内容 'a' 'A'
整数常量: 100 56
小数常量: 2.15 0.64
布尔常量: true false
空常量: null
2.自定义常量(面向对象 关键字 final)
进制也属于常量
二 :
(1). 了解了更简单的方法: 8421码 可以快速的进行二进制到十进制,十进制到二进制的转换.
(2). 有符号位的数据表示法
计算机底层对数据的计算: 是通过补码进行运算的
正数的 原码 反码 补码 相同
负数的最高符号位为1
负数的反码是在原码的基础上,最高符号位不变,数值位按位取反.
负数的补码是在反码的基础上,最高符号位不变,数值位末尾+1.
(3). 变量 在程序执行过程中,其值发生改变的量
1. 变量的三要素
数据类型
变量名: 满足标识符规则
初始化值: 满足的范围即可
格式: 数据类型 变量名 = 初始化值
数据类型 :在Java中,数据类型分为两大类型:
A)基本数据类型:四类八种 (研究的都是基本类型)
整数类型:默认int
字节类型 byte 占1个字节(8个比特位) 取值范围:-128~127
短整型 short 占2个字节
整数默认类型 int 整数默认类型 占4个字节
长整型 long 占8个字节
注意事项:必须在long的初始化值的末尾加L或者l
浮点类型:默认类型double
单精度 float 单精度 占4个字节
注意事项:
float f = 12.56F ; //后面加上F或者f
双进度 double 双进度 占8个字节
字符类型
char 占两个字节
初始化值:单引号括起来的单个内容
布尔类型
boolean 不会参与类型转换:仅仅表示真,假 占1个字节
要么是true/要么false
int a = 10 ;
int b =20 ;
比较a与b是否相等:获取到boolean类型的结果
B)引用数据类型:后面说
数组,类,接口
(4). 定义变量的注意事项:
1. 在java语言(强类型语言:语法结构很严谨)中,同一个变量不能重复定义
(javascript语言:弱类型语言:可以去重复定义变量)
2. 一行就写一个变量即可! 一行结束之后分号;(代码规范风格)
3. 一行也可以定义多个变量;
4. 变量要么直接初始化,要么先定义,但是必须在使用之前对其进行初始化
(5). 变量要进行运算,必须要确定数据类型的一致
在Java中有一个隐式类型转换: byte,short,char三者之间不进行相互转换,
参与运算, 优先转换为int类型,long,float-double类型
显示转换与隐式转换
显示转换(强制转换) 大的数据类型----->小的数据类型
格式: 目标数据类型 变量名 = (目标数据类型)初始化值; 会有损精度!
隐式转换:(隐式类型提升)
byte,char,short三者之间不转换,一旦参与运算,优先提升为int...
超出了 byte类型 的范围为-128~127
先算出in 类型的二进制(4字节) 然后化为byte(1字节) 类型的二进制
最高符号为0,原码 ,反码,补码都相同
最高符号为1 数值位-1 求反码 数值位按位取反求原码
(6). Java中的运算符号:
1. 算术运算符 + - * / %
扩展算术运算符
++ --
第一种:
++或者--单独使用
无论++或者--在数据前面还是数据后:都是对当前数据本身自增1或者自减1
第二种:
++或者--参与运算使用
如果++或者--在数据的前面:需要先进行自增1或者自减1,然后再参与运算!
如果++或者--在数据的后面:先进行运算,然后再进行自增1或者自减1
2. 赋值运算符 =
扩展的赋值运算符:将符号右边的数据和左边的数据相加,
然后再赋值给左边的这个变量
+=,-=,*=,/=,%=
+=举例:
int a = 10 ;
a += 20 ;
类似于 a = a + 20 ;
举例:
short s = 1;
1)s = s + 1 ;
2)s+=1 ;
以上代码1),2)哪一句会编译失败?为什么?哪一句编译成功?
1)编译失败
byte,short,char三者不转换,一旦参与运算,先提升为int类型,然后再参与运算!
2)编译成功:
s+= 1 ; 类似于s = s + 1 ;
扩展的赋值运算符中:
特点:隐藏了强转类型转换
等价于 s = (short)(s+1) ;
3. 关系(比较)运算符
!=,<,<=,>=,>,==
无论我们的表达式是简单还是复杂的,最终比较运算符的结果不是true,就是false
注意: ==不能写成=
数学表达式:
3 <=x <=5 x>=3 && x<=5 Java语言(逻辑符号)
4. 逻辑运算符
基本的逻辑运算符号:
逻辑单与: & 并列关系(满足全部条件) 有false,则false
逻辑单或: | 或的关系:满足一个条件即可 有true,则true
逻辑异或: ^ 相同则为false,不同则为true
逻辑非: ! 非true,则false;非false则true 偶数个非是他本身
扩展的逻辑运算符:
逻辑双与: && 左边有false,右边则不执行
逻辑双或: || 左边有true,右边则不执行
5. 位运算符
基本的位运算符号:
位与: & 有0则0
位或: | 有1则1
位异或: ^ 相同则为0 不同则为1
特点: 一个数据被另一个数据位异或两次,其值是他本身!
位运算之位移符号:
<<: 左移
将数据的补码进行左移动,右边不够的补0;将最高符位丢弃掉
>>: 右移
将数据的补码进行右移动;如果最高符号位为1,则左边补1;
最高符号位为0,则左边补0;
>>>: 无符号右移
无论最高符号位是1还是0,左边始终补0
左移的特点: <<:将左边的数据乘以2的移动次幂
右移的特点: >>:将左边的数据除以2的移动次幂
6. 三元(三目)运算符
int temp = (x > y )? x: y ;
int result = (temp > z)? temp : z ;
或者
int max2 = (x>y)?((x>z)?x:z):((y>z)?y:z) ;
三 :
(1): 键盘录入
使用步骤
1. 导包: 在java语言中:只要不是java.lang包下的类都需要导入!
位置:在class上面
import java.util.Scanner;
2. 固定格式: 创建键盘录入对象(文本扫描器对象)
Scanner 对象名 = new Scanner(System.in) ;
3. 开始录入数据 :使用int类型举例
Scanner类的功能
public int nextInt():录入下一个int类型
int 变量名 = 对象名.nextInt() ;
(2) : if 语句
格式1:
if(表达式){
语句;
}
格式二:
if(表达式){
语句1;
}else{
语句2;
}
if 语句的嵌套:
if(表达式1){
if(表达式2){
语句1;
}else{
语句2;
}
}else{
if(表达式3){
语句3;
}else{
语句4;
}
}
if 语句格式3 :
if(表达式1){
语句1;
}else if(表达式2){
语句2;
...
...
...
}else{
语句n;
}
(3): switch语句
switch(表达式){
case 值1: 语句1;
break ;
case 值2:
语句2;
break ;
...
...
default:
语句n;
break ;
}
switch语句使用的注意事项:
1. case语句后面的值只能是常量,不能是变量(Java是一个强类型语言的:语法结构非常严谨)
2. 书写switch语句的时候,case语句必须存在break语句,结束switch语句的! 如果没有书写break语句,会造成"case穿透!"现象
3. switch语句的结束条件
a)遇见break结束
b)程序默认执行末尾结束
总结:
通过一周的学习掌握了很多知识,学校里学的一些也回忆了起来,在学校考试的时候代码题都不敢看,现在看到一些问题和代码,可以轻松解决.