前言
JVM JRE JDK的三者的定义 :JVM 是java的虚拟模拟器,java跨平台的保证;JRE是java的运行环境,包含JVM和核心类库;JDK是Java的开发工具,包含JRE和开发工具.
Java程序的基本单位是类,存储单位是字节.
关键字:有特殊含义的,不能随意使用的字. 判断方法:1.全部都是小写英文字母 2.在增强版的记事本中有特殊颜色.
标识符:自定义的内容.比方说有类的名字,方法的名字,变量的名字. 类是大驼峰式书写;变量名和方法名是小驼峰式书写. 命名规则:1.由26个英文字母,10个数字 $和_组成. 2.不能数字开头 3.不能用关键字.
常量:在程序运行过程中,保持不变的量. 常量分为:字符型常量,字符常量,整数常量,浮点数常量,布尔常量,空常量 null(不能直接打印输出的)
数据类型分为:基本数据类型和引用数据类型. 基本数据类型:4种8类.整数型: byte short int long 浮点型:float double 字符型 char 布尔型 boolean 引用型数据类型:字符串 类 接口 lanbda 注意事项 :1.字符串是引用数据类型. 2.浮点型可能是近似值,并非精确的值. 3.数据范围和数据类型不一定相关 例如long 和float类型. 4 浮点型和整数型 默认为double和int 类型,如果要使用则 float类型后面要加大写F ;long类型后面要加L. 5需要记住的几个类型的数据范围:byte(-128--127) char(0--65535) int大概是21亿
变量:在程序运行过程中,变化的量. 格式: 数据类型 变量名称=
使用变量的注意事项:1,如果创建多个变量,则变量名字不能相同. 2.使用byte和short 要注意右侧赋值的量不能超出其数据范围. 3没有赋值的变量不能直接使用. 4 变量的使用范围不能超出作用域.
数据类型转换方法
一.自动转换:代码不需要进行特殊处理,自动完成.范围由小转向大
强制转换:格式:数据类型 变量名=(前一个数据类型) 数据类型 变量名 例如: int y= (int) long z L;
注意事项:1.强制类型转换一般不推荐使用,可能会造成精度损失或者数据溢出. 2.byte short char这三种类型 可以发生数学运算.但都会被系统提升为int 进行运算. 3 布尔类型不能发生数据类型转化.
二.Operator 有 * + - / %五种 ,其中/只取整数.例如int i=13/3 i=4.
%只取余数 例如 int i=13%3 i=1;
注意事项:1.对于两个不相同的数据类型做运算,结果是范围大的数据类型.2.对于字符串来说”+”表示连接.
三.自增或者自减运算.i++ i-- ++i --i 注意事项:1.对于单独式子来说,i++ 与++i 没有区别.2.对于有复合运算的 ++i 表示先执行自增 i++表示现将数值赋值给对方 然后自增.
比较运算符:< > <= >= == != 注意事项: 1.比较结果是一个布尔值 2比较运算不能连写 例如(1<x<3)不能连写.
四.逻辑运算符(logic): && || ! 三种.只能连接布尔值. &&和||有短路效果.如果运算符左边可以得到最终结果,则不执行运算符右边的判断.
五.ASC表中记住 48代表’0’,65代表’A’, 97代表’a’ .
六.三元运算:格式: 数据类型 变量名=条件判断? 表达式A: 表达式B; 例如:int a =20,int b=10 int max=a>b? a:b;
注意事项: 1.必须同时保证表达式A和表达式B 都符合左侧数据类型要求 2三元运算结果必须被使用.
七.赋值运算符分为 基本赋值运算符”=”和复合运算符’ += -= *= /= %=’.注意事项:只有变量才能使用赋值运算符,常量不能进行赋值.复合赋值运算中包含强制转换.例如 byte a=5,a+=5 a=10 a的数据类型是int型.
八.方法就是代码块的抽取.格式: public static(修饰符) void(返回值类型) 方法名(参数列表){ 方法体(任意的语句)} 注意事项:1.方法的定义的先后顺序无所谓. 2.方法的定义不能产生嵌套关系(方法里面包含其他方法) 3 方法定义之后一定要进行方法的调用. 4 方法的调用格式 方法名字(参数名).
九.编译器的优化:1对于byte short char 三种类型来说,如果右侧的赋值的范围没有超出数值范围.那么javac 会自自动隐含补上一个强制转换符.如果超出,则编译器自动报错. 例如 short a=10;short b=20;short sum=a+b//这是一种错误写法 2.编译器的常量优化
流程控制语句sequence
一 if 语句
单if ;if(判断条件){语句体}
if else 格式 if(判断条件)(语句体),else{语句体}
if else if else...else
二 switch 语句
格式:switch(表达式){
Case 常量1:
Break
.....
Default:
Break(可以省略,但不要省略,防止穿透)
}
注意事项:1. 多个case后面的值不能相同 2 switch后面中的小括号里面只能是下列数据类型( short int byte char 字符串 枚举) 3.case 里面的顺序可以调换,灵活变动.
三 循环语句{ for while do while}
1.For循环
格式:for: (初始表达式 ;条件判断;步进语句 ){ 循环体 }.注意事项:循环体 循环次数知道 就用FOR循环.
2.while 循环
格式: 初始表达式;while(条件判断){循环体;步进语句}
3.do while 循环
格式: 初始表达式;do(循环体,步进语句)while(条件判断);
注意事项:1 do while 至少执行一次 2 对于for循环 变量定义在小括号里面,只有循环内部才能使用.
四.对于break和continue的区别
1.break 在switch中 一旦执行switch语句则立刻结束;还可以用在循环语句中,一旦执行,整个循环语句立刻结束.打断循环.
2.Continue 一旦执行 ,立刻跳过当前次循环剩余内容,马上开始下一次循环.
五 死循环:永远停不下来的循环 用ctrl+c可以停止死循环.
格式:while(true){循环体}
六 循环嵌套
格式: for(初始表达式;判断条件;步进语句){
For(初始表达式1;条件判断1;步进语句1){
循环体}
}注意事项:只有内循环 循环完毕外循环才会执行一次.经典例子:9*9乘法表
Public class ChenFaBiao9{
Public static void main(String[] args){
For(i=1;i<=9;i++){
For(p=1;p<=i;p++){
System.out.print(“i”+”*”+”p”+”=”+”(p*i)”)}
}
}
}
IDEA 方法
方法:就是若干语句的功能集合.
参数:就是进入方法的数据.
返回值:从方法出来的数据.
Return的作用:停止当前方法,将后面的结果数据返回给调用处.
方法的完整格式:
修饰符 返回值类型 方法名(参数类型 参数名称){方法体 return 返回值; }
注意事项: return后面的返回值 ,必须和方法名称的”返回值类型”,保持对应. 例子: 求两个数之和.
Public static SumTwo{
Public static void main(String[] args){
Int result2=sum(10,20);
System.out.println(result2);
}
Public static int sum(int a, int b){
Int result=a+b;
Return result;
}
}
方法的调用格式
修饰符 返回值类型 方法名(参数类型 参数名称){ 方法体 return 返回值 }
方法的调用格式: 单独调用 打印调用 赋值调用
关于返回值类型是Void 的类型 ,只能使用单独调用 不能使用打印或者赋值.
方法的重载:(overload) 多个方法的名称相同,参数列表不同.
注意事项: 参数的个数 ,参数的类型 参数的顺序不同 与方法重载有关.无关因素: 与方法名称,返回值类型 无关.
在调用输出语句的时候,其实就是print的重载. |
|