同一个源文件中可以定义多个类。
编译后,每个类都会生成独立的 .class文件。
一个类中,只能有一个主方法,每个类都可以有自己的主方法。
public修饰的类称为公开类,要求类名必须与文件名称完全相同,包括大小写。
一个源文件中,只能有一个公开类。
作用:类似于文件夹,用来管理字节码(.class)文件。
语法:package 包名
位置:必须写在源文件的第一行
带包编译:javac -d . 源文件名称.java (自动生成目录结构)。
带包运行:java 包名.类名 (包名+类名又称全限定名)。
1.单行注释//
2.多行注释/* */
3.文档注释/** */
文档注释:(生成外部文档:javadoc -d .源文件名称.java)
取值范围小的数据类型,可以自动转换成取值范围大的数据类型。
取值范围大的数据类型,必须强制转换成数据类型小的数据类型。
short f=65; char g=f; //不能直接转换
short f=65; char g=(char)f;
//char和int可以跨数据类型转换
char c = 'A';
int i2 = c;//自动类型转换
System.out.println(i2);
1.如果操作数中没有int,只有short或byte,计算结果提升为int。
2.任何类型与String相加(+)时,实为拼接,其结果自动提升为String.
//(在main方法中代码是从上往下,从左到右执行的)
int a=5;
int b=10;
System.out.pirnt("我的时间:"+a+b);
//输出:我的时间:510
System.out.pirnt(a+b+"我的时间:");
//输出:15我的时间:
小括号>算数运算符>关系运算符>逻辑运算符>赋值运算符
/求商 %求余
逻辑运算符:&& ,|| , !
int a=200;
int b=100;
if(a>=100&&b<200){}
4.Java是强类型语言,变量的类型必须与数据的类型一致。
5.三元运算符:保证都为同一数据类型
6. ==用于比较地址 字符串.equals(字符串)用于比较内容
1.\n换行
2.\t隔开一个制表符,用于对齐(例子:九九乘法表)
3.变量:存储数据的基本单位
4.变量的初始化:声明,并赋值
5.变量的命名:
6.基本数据类型:byte,short,int(默认) -2*31~2*31-1,long,
float,double(默认),
boolean(false),
char,
7.引用数据类型:String...
8.控制台
Scanner 变量名=new Scanner (System.in);
.next().charAt(0);//获取当个下标为0的字符,
语法:
if(布尔表达式){ //代码块1 }else{ //代码块2 }
语法: if(布尔表达式1){ //代码块1 }else if(布尔表达式2){ //代码块2 }else if(布尔表达式3){ //代码块3 }else{ //代码块4 }
适用区间判断,但要保证条件顺序(从大到小、从小到大)。
语法: switch(变量){ case 值1: 逻辑代码1;
break; case 值2: 逻辑代码2;
break; case 值n: 逻辑代码n;
break;
..... default: 未满足时的逻辑代码; }
如果变量的值等于值1,则执行逻辑代码,以此类推。
如果变量的值均未比配case,则执行default的逻辑代码。
break有两种形式:不带标号和带标号。
不带标号:跳出当前循环,继续执行循环体下面的语句;
带标号:跳出当前循环并跳出标号所指的循环,继续执行所指的循环体下面的语句。(案例:收银系统)
continue有两种形式:不带标号和带标号。
带标:跳出本次循环,直接转到标号所指定的代码段的下一轮循环。
不带标:结束本次,进行下一次循环。
4.局部变量:声明在方法内部的变量,必须先赋值再使用
作用范围:定义行开始到所在的代码块结束。
1.初始化 2.循环条件 3.循环操作 4.迭代
1.为什么有循环的出现?
为了解决重复的事情
循环的概念:通过条件,重复执行逻辑代码。
语法:
while(布尔值判断){
//逻辑代码
}
语法:
do{
//逻辑代码
}while(布尔表达式);
语法:
for(变量初始化;循环条件;迭代){
//循环操作
}