javaEE 企业版 主要从事的工作:企业级别的应用,望山,大数据处理
javaSE 标准版
javaME 嵌入式的内容 Android kotlin
计算机两个最牛的人物
Alan 图灵 计算机的思想
冯诺依曼 计算机二进制的发明
电脑系统:
windows
mac 系统比较稳定
linux Ubantu CentOS RedHat
JDK 包括JRE和开发工具
JRE包括JVM和核心类库
DOS命令相关
cd \ 直接退回到当前盘符的根目录
cd .. 返回到上一道文件夹
cls 清屏
dir 显示当前文件夹内的内容
exit 退出dos命令
盘符+: 进入该盘符
win+r 进入运行命令 输入cmd进入dos命令;
cd +文件夹名 打开该文件夹
配置环境变量:为了在电脑的任意目录下都可以对java代码进行运行与编译
配置流程,
我的电脑-->属性-->高级系统设置-->高级-->环境变量-->
在下面新建名称为JAVA_HOME,目录为JDK的安装位置-->找到path,编辑环境变量%JAVA_HOME%\bin
查看 Java的版本 输入 java -version
win+E 直接打开我的电脑
public class 文件名{
public static void main (String[]args){
System.out.println("");
}
}
java程序编译命令: javac 文件名.java 得到一个.class文件
java程序运行命令: java 文件名
notepad++使用前的设置
设置-->首选项-->新建,默认语言选择Java ,右边编码选择ANSI,然后就可以正常使用了。
注释:解释说明代码的作用
不参与程序的运行
1.单行注释 //
2.多行注释 /* */
常量:在程序运行过程不会发生改变的量;
常量分类:
整数常量 System.out.println(10);
字符串常量 System.out.println("HelloWorld");
字符常量 System.out.println('H'); 两个单引号中间不可以没有任何内容
小数常量 System.out.println(2.5);
布尔常量 System.out.println(true);
空常量 不能直接打印输出
常用的数据基本类型: 取值范围
整型: byte 1个字节, -128到127
short 2个字节, -30000+到30000+
int 4个字节, -21亿多到21亿多(-2的31次到2的31次-1)
long 8个字节,
浮点型: float 4个字节,
double 8个字节,
字符型: char 2个字节 0-65535
布尔型: boolean 1个字节 true , false
==========================
变量:在程序运行中,会发生改变的量;
变量的定义格式:
数据类型 变量名= 数据内容;
变量使用的注意事项:
1.变量名称不能重复;
2.未赋值的变量不能使用;
3.在对long类型的变量进行赋值时,需要在数值后面+L;
4.在对folat类型的变量进行赋值时,需要在数值后面+F;
标识符的命名规范:
组成部分:26个英文字母,0-9个数字 下划线_ 美元符号$
硬性要求:不能以数字开头 不能是 class public 等关键字
小驼峰式命名; 变量和方法
规范: 首字母小写,后面单词的首字母大写, 例如 firstName
大驼峰式命名:首字母大写,后面单词的首字母也是大写。例如 FirstName
数据类型转换:
1.自动类型转换: long l=100; 当右侧数据类型的取值范围小于左边变量的取值范围,就会发生自动类型转换;
2.强制数据转换: float a=(float) 100.5;
当右侧数据类型的取值范围大于左边变量的取值范围,就需要我们自己操作进行强制类型转换;
注意事项:一般不建议强制数据转换,易发生数据精度损失或数据溢出
byte a=200; 左边byte的取值范围为-128到127,右边为200,结果为-56;
运算符:
加 +
减 -
乘 *
除 /
取模 % 得到的是余数
byte short char 类型的数据在进行运算的时候都会首先提升成 int 类型,然后在进行计算
计算机里面的内容都是用二进制的形式进行保存的
例如'A'代表65,'中'代表20013 字母、符号、中文等等都可以在ASCII与万国码表中找到相应的数字
字符串类型的变量在与其他类型进行+运算时,都会将其他类型的变量变成字符串类型;
System.out.println("666"+'a'); //输出是666a;
System.out.println(66+6+"666");//输出是72666;
System.out.println("666"+true +null);//输出是666truenull;
===============================================
赋值运算符:
= 赋值
+= s+=5 相当于 s=s+5
-= s-=5 相当于 s=s-5
/= s/=5 相当于 s=s/5
*= s*=5 相当于 s=s*5
%= s%=5 相当于 s=s%5
int a = 3+6+9;// 一般都是先将右边的表达式计算后,在赋值给左边;
将两个变量赋值对换;
int a= 10;
int b= 20;
int c=a;
b=c;
a=b;
或者
int a= 10;
int b= 20;
a=a+b;
b=a-b;
a=a-b;
自增自减:
++前
后++
--前
后--
当自增自减运算符单独使用时,无论是++前还是后++,运算结果都是一样的;
混合使用时,++前表示先+1在用;后++表示,先使用原来的数,然后在+1
关系运算符
>
>=
<
<=
!=
==
关系运算符结果一定是布尔类型的( true 或者 false )
逻辑运算符:连接多个布尔类型的结果
与 & 有 false 则 false
或 | 有 true 则 true
异或 ^ 相同为 false ,不同为 true
非 ! 取反 !true 为 false !false 为 true
短路逻辑运算符
短路与 &&
短路或 ||
当根据左边的布尔类型已经可以判断整个程序的输出时,右边的运算就不在进行;
三元运算符:
数据类型 变量名称 == 布尔表达式 ?表达式1:表达式2;
如果其中的布尔表达式结果为true,则输出表达式1,否则输出表达式2;
Scanner键盘输入
步骤 1.导包 import java.util.Scanner;
2.创建 Scanner sc = new Scanner(System.in);
3.接收数据 int num = sc.nextInt;
nextInt();//要你输入的是一个数字;
next(); //可以获取输入的字符串 如果遇到空格 读取结束 空格后的内容将不再作为本次的读取
nextline();//读取一行,
注意事项:当前面输入nextInt()时,如果后面输入nextline(),会导致nextline()失效;
流程控制语句:
1.顺序结构 从上往下,依次执行
2.分支结构(选择结构)
单if 语句
格式: if(布尔表达式){
语句体;
}
标准的if语句:
格式: if(布尔表达式){
语句体1;
}else{
语句体2;
}
扩展的 else if 语句
格式: if(布尔表达式1){
语句体1;
}else if(布尔表达式2){
语句体2;
……
}else{
语句体n+1;
}
switch语句
执行流程:
1.首先计算表达式的值;
2.依次与case后面的值进行比较,如果有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束;
3.如果所有的case后面的值与表达式的值都不匹配,就会执行default内的内容;
格式:
switch(表达式){
case 常量1;
语句体1;
break;
case 常量2;
语句体2;
break;
case 常量3;
语句体3;
break;
case 常量4;
语句体4;
break;
default 常量N+1;
语句体n+1;
}
注意事项:
1.case穿透:当前符合表达式的case中的break没有写的话,程序会穿透下面第一个case的表达式,
直接运行下一个case的语句体,直到遇到case或者程序结束;
2.case 中的表达式不能重复;
3.switch()括号中可以写 byte short int char String enum(枚举)类型的数据;
for 循环语句
组成部分:1.初始化语句;2.条件判断;3.循环体;4.步进语句;
for循环语句格式
for(1.初始化语句;2.条件判断;4.步进语句){
3.循环体;
}
while 循环语句;
基本格式:
while (条件判断){
循环体;
}
完整格式:
1.初始化语句
while(2.条件判断){
3.循环体;
4.步进语句;
}
do....while 语句
格式:
初始化语句
do{
语句体1;
步进语句;
} while(条件判断);
三种循环的区别:
for 循环和 while循环先判断条件是否成立,然后在执行循环体;
do..while 第一次执行无论判断条件是否成立,都会执行一次循环体;
已经知道循环次数的情况下,一般用 for 循环语句
循环次数不明确的情况下,一般用 while 循环语句
死循环:
1. while (true){
循环体;
}
2. for(;;){}
3. do{
}while(true);
控制跳转语句
break
直接跳出当前循环;
continue
跳出本次循环,继续下一次循环
Random
使用步骤:
1.导包
2.创建
3.获取随机数
import java.util.Random;
Random r= new Random();
int num=nextInt(10); //括号内写10时,随机数为0-9,包括0,不包括10
方法:功能独立的代码块
1.定义方法
1)有参数方法
public static void 方法名( 数据类型 形参){
方法体;
}
2)无参数方法
public static void 方法名(){
方法体;
}
当有多个参数时,中间用","分开;
3)带返回值的有参方法
格式
public static 返回值类型 方法名(数据类型 变量名,数据类型 变量名,……){
方法体;
return 返回值(常量/表达式);
}
2.调用方法
1)有参数方法
方法名(实参);
2)无参数方法
方法名();
3)带返回值的有参方法;
数据类型+变量名=方法名(参数);
实参,实际的参数
形参,形式的参数
方法的注意事项
1.返回值类型
2.是否有返回值 有返回值的话,就有return;没有返回值的话,就用void
3.参数类型
4.方法名
return 直接将当前返回值调出,不再运行方法
public static void 方法名(){},左边中有void,说明没有返回值
方法的重载
需要满足以下条件
1.在同一个类中
2.方法名相同
3.多个方法参数的个数或者类型不同,再或者类型相同,但是先后顺序不同;
方法的重载与方法的返回值无关。
方法调用的时候会根据方法内参数的
为什么会有方法重载,
降低学习成本,省事
基本的数据类型作为方法参数的时候,
引用类型作为方法参数的时候,会影响形参
|
|