一、java语言的特点
Java是一门具有面向对象思想、支持泛型、支持跨平台的的高级汇编语言
1、开源性:开源免费
2、面向对象性:封装 继承 多态
3、跨平台性:一次编译 随处远行
4、编译性:编写的Java源文件,必须编译成字节码文件才能使用【.class】
5、动态性:在程序运行期间可以动态修改编译后的文件(利用反射技术、热修复)
二、java的发展
“java之父”——詹姆斯.高斯林
1994年起源于sun公司 出现了Java的前身oak。
1995年将oak改名为java。
三、java平台体系
javaME 最小的版本 主要用于Andrade项目的开发
javaSE 基础的版本 主要提供一些基础的语法
JavaEE 企业级版本 主要用于开发企业级wed项目
四、jdk与jre与jvm
jdk=jre+编译器开发工具;
jre=jvm+运行时的类与库;
五、注释
1、概念:对代码进行解释和说明,主要是提供给程序员来查看代码,注释的代码是不参与编译,对运行的结果没有任何影响
2、分类:
单行注释
概念:用一行对代码进行注释
语法:// 注释的内容 快捷键ctrl+/
特点:可以进行嵌套 但是没有实际的意义
多行注释
概念:用多行代码进行注释
语法:/* 注释内容*/ 快捷键 ctrl+shift+/
特点:不能嵌套
文档注释
概念:一般使用注解来对方法或者是类来进行说明
语法:/** 注释的内容*/
3、作用
A.对代码进行解释说明
B.注释帮助输了项目的业务逻辑
C.注释帮助快速的查找bug
六、标识符
1、技巧:凡是能起名字的地方都叫标识符
2、组成部分
A.数字组成 0~9
B.字母组成 26个英文字母大小写
C.特殊符号 _ $ (一般不要使用特殊符号)
D.其他国家符号的语言
3、注意点:通俗易懂
A.标识符不能使用关键字
B.标识符不能以数组进行开头
C.标识符尽量不要使用特殊符号
七、java命名的一些规范
1、规范特点:通俗易懂 顾名思义
2、包名:所有单词都小写,不同单词以.来进行分割
组成:域名+公司名+项目名+包的具体含义
3、类名、接口名:遵循大驼峰命名
4、变量名、方法名:遵循小驼峰命名
5、常量名:所有单词都大写,不同单词以下划线来连接
八、常量
1、概念:在程序运行期间其值不会发生改变的量
2、分类:
整数常量
小数常量
字符常量
布尔常量
空常量 表示没有定义任何的数据null(null是不能直接打印输出)
九、变量
1、概念:在程序运行期间其值会发生改变的量
2、使用的步骤:
A.变量的声明 语法:数据类型 变量名称;
B.变量的赋值 语法: 变量名称=具体的值;
3、定义的语法:
A.先声明在赋值
B.声明并赋值
3.1对声明的变量重新赋值操作
语法 变量名=变量值;
4、变量的使用范围
变量的使用范围是最近的一对大括号中
5、注意点:
A.变量必须先赋值才能使用
B.变量永远是右边赋值给左边
C.不同的变量在内存中不i开辟不同的空间,给变量进行重新赋值的时候只是修改其数据,不会重新开辟空间
D.在同一作用域下,不能定义相同变量名称的变量
十、Java中的数据类型
数据类型的分类
基本数据类型、引用数据类型
1、基本数据类型
整数类型 byte 、short 、int、long
小数类型 float、double
字符类型 char
布尔类型 boolean
2、引用数据类型
类 、 接口 、数组、枚举、注解
2.1引用数据类型-----String
1、字符是引用数据类型,字符串是使用双引号进行包裹的一串字符
2、语法:String 变量名 = 变量值;
注意点
A.字符串的首字母是大写
B.任何的数据类型与字符串进行拼接得到的都是字符串
十一、数据类型的转换
数据类型转换的概念
数据类型转换的原因:Java是一门强类型的语言,在声明变量的时候就必须声明其数据类型,当不同数据类型进行运算是就需要进行数据类型的转换
分类
自动类型转换 小的数据类型提升为大的数据类型 系统进行处理
说明:
A.int类型以下的数据类型与int类型进行运算时都会提升为int类型
B.int类型以上的数据类型与interesting类型进行运算都会被提升为较大的数据类型
强制类型转换 大的数据类型提升为小的数据类型 需要自己来处理
语法
需要转换成的数据类型 变量名=(需要转换成的数据类型)数组或者变量名;
说明
A.强制类型转换是不安全的可能会丢失数据
B.小数类型转换为整数类型会将小数丢弃
十二、运算符
1、运算符:用于变量与常量进行运算的符号
2、分类:算数运算符 逻辑运算符 关系运算符 赋值运算符 三元运算符 位运算符
算数运算符
i++ 先赋值在运算
++i 先运算在赋值
算数运算符的优先级
* / > + -
逻辑运算符
&& 并且 表达式同时返回的结果为true则为true
|| 或者 表达式只要有一个结果为true则返回true
! 非 取相反的结果
三目运算符
语法: 表达式1?表达式2:表达式3;
说明:
A.表达式1的返回值类型必须是boolean类型
B.表达式2与表达式3是可以任意的数据类型 但是表达式2与表达式3必须是同一种数据类型
十三、Scanner
1、概念:主要用于来获取键盘录入的数据,使变量的值更加的灵活
2、步骤:
A.需要导包import java.unil .Scanner
B.实力化这个对象 Scanner input(这个地方是名称可以改变)=new Scannre(System.in);
C.调用方法来获取数据
next()用来获取字符串 nextInt()用于获取整数
D.使用键盘录入获取的数据
十四、多分支if
语法:
if(表达式1){
执行操作1;
}else if(表达式2){
执行操作2;
}else if(表达式3){
执行操作3;
...........
}else{
执行操作n;
}
说明:
1、表达式的条件 一般是从小到大的范围或者从大到小的范围进行排列,不能随意切换
2、多分支if一般用于区间判断
3、else可以省略,但不建议省略
十五、switch
语法:
switch(表达式){
case 常量1:
执行操作1;
break;
case 常量2:
执行操作2;
berak;
case 常量3:
执行操作3;
break;
.........
default:
执行操作n;
break;
}
说明:
1、表达式的类型
在jdk1.5之后都可以使用byte short char int
在jdk1.7之后可以使用String类型
总结:目前使用的jdk1.8所以以上类型都是可以使用
2、case 后必须是常量,每一个常量必须是唯一的
3、case 一般是与break进行搭配使用,如果没有break会继续往下执行,直到遇到break才结束
4、default可以省略,有可能产生什么操作都不执行
十六、for循环
语法:
for(初始化语句;循环条件的判断;循环变量的改变){
循环操作;
}
说明:
1、初始化语句只执行一次
2、注意循环操作 0~n——>满足循环条件判断的次数
3、注意循环变量的改变 避免死循环
4、循环操作的语句是可以多条
十七、 while循环
初始化语句1;
while(循环条件的判断2){
循环操作3;
循环变量的改变4;
}
说明:
1、初始化语句只执行一次
2、循环条件判断的括号后面没有分号
3、循环变量的改变,避免死循环
十八、do while循环
语法
初始化语句1;
do{
循环操作2;
循环变量的改变3;
}whlie(循环变量的改变);
说明:
1、循环条件判断的返回值必须是Boolean类型
2、循环条件判断的后面需要加上一个分号
3、注意循环变量的改变,避免死循环
十九、循环总结
1、for whlie与do whlie的区别
for与whlie循环都是先判断在执行循环操作
do whlie是先执行一次循环操作在判断
2、for循环与whlie与do whlie循环的使用场景
循环次数固定的时候 使用for循环
循环次数不固定的时候 且需要判断之后在执行循环操作的时候 使用whlie循环
循环次数不固定的时候 自少会执行一次循环操作的时候 使用do whlie循环
3、循环的四要素
初始化条件;循环条件的判断;循环操作;避免死循环
二十、跳出循环
1、comtinue 跳出本次循环 执行下一次循环
2、break 结束当前循环
3、return 通过来结束方法来结束循环
二十一、嵌套for循环
1、概念:一个完整的for循环嵌套在另一个完整的for循环里
所有的循环都可以嵌套
2、语法
for(初始化条件1;循环条件的判断2;避免死循环3){
for(初始化条件A;循环条件的判断B;避免死循环C){
循环操作D;
}
}
说明:
外层循环执行一次,内层循环执行一轮。
二十二、流程控制总结
流程控制的分类:
顺序结构:代码从左到右,从上到下
分支结构:根据分支结构执行操作
循环结构:重复执行相同(相似)的操作
2、分支结构
单分支if if-else 嵌套if
多分支if switch
多分支if一般用于区间判断 switch一般用于等值判断
3、循环结构
for whlie do whlie
二十三、方法的定义
语法:
访问修饰符 返回值类型 方法的名称(参数列表){
方法体
return 返回值;
}