1.java命令提示符窗口
盘符名称: 盘符切换。
dir: 查看当前路径下的内容。
cd 目录: 进入单级目录。
cd 1/cd 2/...: 进入多级目录。
cd/: 回退到盘符目录。
cls: 清屏。
exit: 推出命令提示符窗口。
2.HelloWorld案例
public class HelloWorld { public static void main(String[] args) { System.out.println("HelloWorld!"); } }
其中HelloWorld为类名(文件名);main为入口方法;System.out.println为输出语句。
3.编译常见问题
1.非法字符:常因为中英文标点符号。
2.程序包不存在:大小写问题。
4.基础语法
1.关于快捷注释:
单行注释: //
多行注释: /* */
文档注释: /** */
2.关于关键字:
关键字全为小写且在IDEA中会有颜色显示。
3.关于常量:
常见常量类型:
字符串常量:用双引号括起来的内容,如"HelloWorld";
整数常量、小数常量、字符常量(单引号)、布尔常量、空常量(null)。
其中空常量不能直接输出。
5.数据类型
1.常用存储单位:
1B=8bit
1kb=1024B
1MB=1024B
1GB=1024MB
1TB=1024GB
2.数据类型分为基本数据类型和引用数据类型。基本数据类型分为数值型和非数值型。
数值型:整数(byte,short,int,long) 浮点数(float,double) 字符(char)
非数值型:布尔(boolean)
引用数据类型:类(class) 接口(interface)数组([])
数据类型 | 关键字 | 内存占用 | 取值范围 |
整数 | byte | 1 | -128 -- 127 |
short | 2 | -32768 -- 32767 | |
int | 4 | -2的31次方到2的31次方-1 | |
long | 8 | -2的63次方到2的63次方-1 | |
浮点数 | float | 4 | -3.402823E+38到-1.401298E-45 1.401298E-45到3.402823E+38 |
double | 8 | -1.797693E到-4.9000000E-324 4.9000000E-324到1.797693E+308 | |
字符 | char | 2 | 0-65535 |
布尔 | boolean | 1 | true,false |
6.变量
变量由变量名+数据类型+变量值组成,例如int i = 5;
修改变量值:i = 8;
注意事项:
1.不能重复命名变量名。
2.初始化变量。如在使用long和float数据类型时,要进行初始化,如:
long 1 = 1000000000L
float i = 28.53F
7.标识符(类/方法/变量)
标识符命名规则:
1.由数字,字母,下划线和$组成;
2.不能以数字开头;
3.不能是关键字,大小写可以区分。
标识符命名方法:
方法/变量:一个单词首字母小写,多个单词只有第一个单词首字母小写。
类:一个单词首字母大写,多个单词每个单词首字母大写。
8.类型转换
范围由小到大:
byte--short--------
int--long--float--double
char-----------------
小的可以转成大的,大的不能转换成小的。
例如:int k = 77.77无法转换
int k = (int)77.77可以实现强制转换
输出结果为77
9.算术运算符
加+、减-、乘*、除/(得商)、取余%(得余数)
注意:
整数/整数=整数
若想得到的结果是小数,需要使用浮点型。
1.字符的加操作
'A'=65 A到Z连续
'a'=97 a到z连续
'0'=48 0到9连续
当不同数据类型相加时升为最高类型。
如char+int=int
2.字符串的加操作
字符串的加操作为字符串的直接拼接,例如:
"what"+6=what6
2+7+"岁"=9岁
3.赋值运算符
s+=20等价于
s=(short)s+20
+=隐含强制类型转换
其他类似运算
+=、-=、*=、/=、%=
4.自增自减运算符
++自增,--自减
使用1:单独使用,如i++为自加1,i--为自减1
使用2:int j = i++
j = i++ i赋值给j后i自加1
j = ++i i先自加1再赋值给j
常见为单独使用。
5.关系运算符
符号 | 判断 |
== | 是否相等 |
!= | 是否不等 |
> | 是否大于 |
>= | 是否大于等于 |
< | 是否小于 |
<= | 是否小于等于 |
6.逻辑运算符
与&、或|、非!
短路逻辑运算符为&&和||。结论一样但是短路&有短路作用,即左false右不执行。
最常用&&、||、!。
7.三元运算符
格式:关系表达式?表达式1:表达式2
例如:a>b?a:b
true则a,false则b。
选出ab中的较大值
int max = a>b?a:b
10.数据输入
import java.util.Scanner;//导包出现在类定义上方 public class input{ public static void main(String[] args) { Scanner sc = new Scanner(System.in);//sc为变量名可以变,其他的格式不可以变 System.out.println("请输入"); int i = sc.nextInt();//只有i为变量可以变,其他格式不可以变 System.out.println(i); } }
11.分支语句
1.流程控制
1.常见顺序结构
2.分支结构(if/switch)
3.循环结构(for while/do while)
2.if语句
public class HelloWorld{ public static void main(String[] args) { int a = 1; int b = 2; int c = 3; int max; if(a>b){ if(a>c){ max = a; }else{ max = c; } }else if(b>c){ max = b; }else{ max = c; } System.out.println(max); } }
3.switch语句
//switch 语句
Scanner sc = new Scanner(System.in);
System.out.println("请输入1-3");
int i = sc.nextInt();
switch(i){
case 1:
System.out.println("1");
break;
case 2:
System.out.println("2");
break;
case 3:
System.out.println("3");
break;
}
//加入循环语句
while (true){ Scanner sc = new Scanner(System.in); System.out.println("请输入1-4"); int i = sc.nextInt(); switch(i) { case 1: System.out.println("1"); break; case 2: System.out.println("2"); break; case 3: System.out.println("3"); break; case 4: System.exit(0); } }
case穿透现象:
switch (i) { case 1: case 2: case 3: System.out.println("123"); break; }
12.循环语句
循环语句分为for循环,while循环和do while循环。
1.for循环
//求和循环基本格式
public static void All() {
int sum = 0;
for (int i = 1; i <= 5; i++) {//此时i在for循环内使用,为局部变量
sum += i;
}
System.out.println(sum);
}
2.while语句
//求和(已知循环次数) public static void Judge(){ int i = 0;//i和sum在while循环外,为全局变量 int sum = 0; while (i<=5){ sum += i; i++; } System.out.println(sum); }
//未知循环次数
public static void Judge2(){
int i = 0;
int sum = 0;
while(sum < 15){
i++;
sum+=i;
}
System.out.println(i);
}
在循环中,不知道循环次数时用while循环,知道循环次数时,while和for循环皆可。
3.do while语句
public static void Judge3(){ int i = 0; int sum = 0; do{ sum+=i; i+=1; }while (i<=5); System.out.println(sum); }
4.三种循环的区别
1.do while语句至少走一次。
2.for循环中的变量为局部变量,while循环中的变量为全局变量。
5.三种循环的死循环格式:
for(;;)
while(true)
do while(true)
ctrl+c为强行结束
6.跳转控制语句
continue:基于条件控制跳过某次循环体执行;
break:结束循环体执行。
//continue
public static void Judge(){
int i = 0;
int sum = 0;
while (i<=5){
if(i==3){
i++;
continue;
}else
sum += i;
i++;
}
System.out.println(sum);
}
//break
public static void Judge(){ int i = 0; int sum = 0; while (i<=5){ if(i==3){ break; }else sum += i; i++; } System.out.println(sum); }
7.循环嵌套
//99乘法表
public static void Judge4(){
for (int i = 1;i<=9;i++){
String sum = " ";
for (int j = 1;j<=i;j++){
int s = i*j;
sum += i+"*"+j+"="+s+" ";
}
System.out.println(sum);
}
}
8.Random产生随机数
import java.util.Random;//导包 public static void Judge5(){ Random r = new Random();//r为变量可以变 int number = r.nextInt(10);//范围为[0,10) System.out.println(number); }
//猜数字游戏
public static void Judge5(){
Random r = new Random();
int number = r.nextInt(100);
while (true){
Scanner sc = new Scanner(System.in);
System.out.println("请输入你猜的数字:");
int x = sc.nextInt();
if(x<number){
System.out.println("你输入的数小了,请重新输入:");
}else if(x>number){
System.out.println("你输入的数大了,请重新输入:");
}else{
System.out.println("你猜对啦");
break;
}
}
}