- 声明------在银行开个账户
int a; //声明了一个整型的变量,名为a int b,c,d; //声明了三个整型的变量,名为b,c,d //int a; //编译错误,变量不能同名
- 初始化-----给账户存钱
int a = 250; //声明整型变量a并赋值为250 int b; //声明整型变量b b = 250; //给变量b赋值为250 b = 360; //修改变量b的值为360 int c=5,d=10; //声明两个整型变量c和d,并分别赋值为5和10
- 使用----使用的是账户里面的钱
int a = 5;
int b = a+10; //取出a的值5,加10后,再赋值给整型变量b
System.out.println(b); //输出变量b的值15
System.out.println("b"); //输出b,双引号中的原样输出
a = a+10; //在a本身基础之上增10
System.out.println(a); //15
注:变量在使用之前必须声明并初始化
//System.out.println(m); //编译错误,变量m未声明 int m; //System.out.println(m); //编译错误,变量m未初始化
变量的命名规则:
-
只能包含字母、数字、_和$符,并且不能以数字开头
-
严格区分大小写
-
不能使用关键字
-
允许中文命名,但不建议,建议"英文的见名知意"、"小驼峰命名法"
int a1,a_5$,_3c,$_; //int a*b; //编译错误,不能包含*号等特殊符号 //int 1a; //编译错误,不能以数字开头 int aa = 5; //System.out.println(aA); //编译错误,严格区分大小写 //int class; //编译错误,不能使用关键字 //int n; //必须杜绝------------不直观 //int 年龄; //必须杜绝----------有一些框架不支持中文 //int nianLing; //必须杜绝-----既不直观也不专业 int age; //建议"英文的见名知意" int score,myScore,myJavaScore; //建议"小驼峰命名法"2.基本数据类型
八种基本数据类型:byte,short,int,long,float,double,boolean,char
| 名称 | 范围 | 字符 |
| byte | -128---127 | 8位 1个字节 |
| short | -32768----32767 | 16位 2个字节 |
| int | -21个多亿到21个多亿 | 32位 4个字节 |
| long | -2^63---2^63 -1 | 64位 8个字节 |
| float | 单精度浮点数 | 32位 4个字节 |
| double | 双精度浮点数 | 64位 8个字节 |
| boolean | 返回值只有FALSE TRUE | 未定义 |
| char | 一个字符 | 16位 2个字节 |
+、-、*、/、%、++、-
3.2关系>、<、>=、<=、==、!= boolean
3.3逻辑&&、||、! boolean
3.4赋值简单赋值运算符:=
扩展赋值运算符:+=,-=,*=,/=,%=
---扩展赋值自带强转功能
4.1 if结构 一条路
1)语法:
if(boolean){
语句块--------------基于条件所执行的语句
}
2)执行过程:
判断boolean的值:
若为true,则执行语句块(if结束)
若为false,则if直接结束
4.2 if...else结构: 2条路
1)语法:
if(boolean){
语句块1
}else{
语句块2
}
2)执行过程:
判断boolean的值:
若为true,则执行语句块1(整个结束)
若为false,则执行语句块2(整个结束)
3)说明:
语句块1和语句块2,必走其中之一-----------2选1
1)在package下:
import java.util.Scanner;
2)在main中:
Scanner scan = new Scanner(System.in);
3)在第2步之下:
System.out.println("请输入年龄:");
int age = scan.nextInt();
System.out.println("请输入商品价格:");
double price = scan.nextDouble();
6.switch...case
-
优点:效率高、结构清晰
-
缺点:只能对整数判断相等
-
break:跳出switch
package day04;
import java.util.Scanner;
public class CommandBySwitch {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("请选择功能: 1.存款 2.取款 3.查询余额 0.退出");
int command = scan.nextInt();
switch(command){
case 1:
System.out.println("存款业务...");
break;
case 2:
System.out.println("取款业务...");
break;
case 3:
System.out.println("查询余额业务...");
break;
case 0:
System.out.println("退卡业务");
break;
default:
System.out.println("输入错误");
}
}
}
7.循环
循环三要素:
-
循环变量的初始化
-
循环的条件(以循环变量为基础)
-
循环变量的改变(向着循环的结束变)
while结构:先判断后执行,有可能一次都不执行
int num = 1;
while(num<=9){
System.out.println(num+"*9="+num*9);
num+=2;
}
System.out.println("继续执行...");
do...while结构:先执行后判断,至少执行一次
package day04;
import java.util.Scanner;
//猜数字小游戏
public class Guessing {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int num = (int)(Math.random()*1000+1); //1到1000之内的随机数
System.out.println(num); //作弊
//
//假设num=250 输入:300(大),200(小),250(对)
int guess;
do{
System.out.println("猜吧!");
guess = scan.nextInt(); //1+3
if(guess>num){
System.out.println("太大了");
}else if(guess
for循环
for(int times=0;times<5;times++){
System.out.println("行动是成功的阶梯");
}
System.out.println("继续执行...");
continue:跳过循环体中剩余语句而进入下一次循环------只能用在循环中
8.数组
-
是一种数据类型(引用类型)
-
相同数据类型元素的集合
//声明整型数组arr,包含10个元素,每个元素都是int类型,默认值为0
int[] arr = new int[10];
初始化:----初始化数组中的数据
int[] arr = new int[3]; //0,0,0
int[] arr = {1,4,7}; //1,4,7
int[] arr = new int[]{1,4,7}; //1,4,7
int[] arr;
//arr = {1,4,7}; //编译错误,此方式只能声明同时初始化
arr = new int[]{1,4,7}; //正确 


