变量:程序运行期间,值可以发生变化的量;把变量理解为容器;
java的执行过程从上到下,从左到右。
运算符:
1.赋值运算符 =
2.算数运算符 + - * / % ++ –
3.比较运算符> < == != >= <=
4.复合运算符+= -= *= /= %=
5.逻辑运算符&& || !
6.条件运算符 ? :
int m=8*7;
int m=10;
int n=21;
System.out.println(m+n);
System.out.println(m%n);
System.out.println(m/n);
System.out.println(n%m);
System.out.println(n/m);
System.out.println(m++);//先执行语句 后自增
//m++;++m;此情况 自增都会执行
/*
* 如果除了自增还有其他代码需要执行,那么++在前就先自增后执行语句;
* 如果++在后,就先执行语句,后自增;
* --同上
* */
3.比较运算符 返回值 boolean
int m=18;
int n=28;
boolean result= m>n;
System.out.println(result);
System.out.println(m == n);
System.out.println(m!=n);
//问题:/ % -
//a1=2-a1;
//以下才可以简写
// a1= a1-2;
// a1-=2;
// a1=a1/2;
// a1/=2;
int age=18;
int money=10;
System.out.println(age>=18 && money>=5);
System.out.println(true && age>1);
System.out.println(false || money>5);
System.out.println(!(false||true));
//求三个数中的最小数
int x=44;
int y=66;
int z=88;
int min=(x
for循环语句
//公约数
int n=12;
int m=18;
int num=0;
for(int i=1;i<(nm?n:m;j<=m*n;j++) {
if(j%n==0&&j%m==0) {
System.out.println(j);
break;
}
}
do…while 不管条件是否成立 循环体先走一次
int a = 10;
do {
System.out.println("撸啦啦啦啦");
}while(a < 9);
//do..while 不管条件是否成立 循环体先走一次
while 未知的循环次数
long money=1000000000;//一个亿
int count=0;
while(money>0) {
money/=2;
count++;
}
System.out.println(count);
break 结束离 其最近的一层循环
continue 跳过本次循环 继续下一次
switch… case语句
//练习:输入年月日,判断此日期是当年的第几天
System.out.println("输入月份:");
Scanner scanner=new Scanner(System.in);
int year=2019;
int month=scanner.nextInt();
int day=24;//当月几号
int sum=day;//存储天数
//判断闰年多的一天
if(month>2) {
if(year%4==0&&year%100!=0||year%400==0) {
sum+=1;
}
}
switch (month-1) {
case 11:
sum+=30;
case 10:
sum+=31;
case 9:
sum+=30;
case 8:
sum+=31;
case 7:
sum+=31;
case 6:
sum+=30;
case 5:
sum+=31;
case 4:
sum+=30;
case 3:
sum+=31;
case 2:
sum+=28;
case 1:
sum+=31;
break;
}
System.out.println(sum+"天");
if…else语句
//练习:判断闰年!如果对4整除100不整除,或者对400整除则为闰年!
int year =2019;
if((year%4==0 && year%100!=0)|| year%400==0 ) {
System.out.println(year+"是闰年");
}else {
System.out.println(year+"不是闰年");
}
数组的规则
数据类型[] 变量名={元素1,元素2…}
数据类型[] 变量名=new 数据类型[元素个数];
int[] arr1= {2, 8};//静态创建
int[] arr2= new int[10];//动态创建
int[] arr3= {};//在内存中没有空间!用不了
加粗文本 加粗文本
下标:就是元素在数组中的编号;从0开始,最大是元素个数-1;
数组注意事项:
直接数出数组时,打印的是数组的地址!
不可以直接对数组做运算,可以对数组中的元素做运算
//如何访问数组中的每一个元素
int[] arr5= {3,9,12,27,34,10,6,1};
for(int i=0;i
随机数
Random random=new Random();
int num =random.nextInt(28-20+1)+20;
//random.nextInt(); 随机整数 有正负之分
//random.nextInt(n); 随机范围0到(n-1)
//random.nextInt(11)+18;18--28 random.nextInt(28-18+1)+18;
//区间值[min,max] nextInt(max-min+1)+min;//大范围减小范围+1取余+小范围
System.out.println(num);
//练习:定义数组,存储10个整数取值[30,90];获取所有的元素和
//以及最大值和最小值
System.out.println("---------------------");
int[] arr6=new int[10];
int max=0;
int min=90;
int sum=0;
for(int i=0;i=arr6[i]) {
min=arr6[i];
}
sum+=arr6[i];
}
System.out.println("=====================");
System.out.println(max);
System.out.println(min);
/*
* 练习2:在练习1的基础上,获取最大数和最小数的位置下标!
*
* */
System.out.println("==========================");
for(int i=0;i<10;i++) {
if(max==arr6[i]) {
System.out.println("最大值下标"+i);
}
if(min==arr6[i]) {
System.out.println("最小值下标是"+i);
continue;
}
}
/*
* 练习3:定义两个整数数组,分别存储5个整数取值范围[20,50]
* 将两个数组拼接成一个元素长度为10的数组!
* */
System.out.println("===================");
int[] a=new int[5];
int[] b=new int[5];
int[] c=new int[10];//(0---4)(5---9)
for(int i=0;i<5;i++) {
a[i]=random.nextInt(31)+20;
b[i]=random.nextInt(31)+20;
c[i]=a[i];
c[i+5]=b[i];
System.out.println(c[i]);
System.out.println(c[i+5]);
}
/*
* 练习4:将练习3中的大数组元素,前后对调!(例如:asdfg对调gfdsa)
* */
System.out.println("原数组");
for(int i=0;i
二维数组
二维数组 由多个一维数组组成
int[][] nums=new int[3][4];
int[][] nums1= {
{12,27,38,40},
{55,23,32,41},
{11,21,32,44}
};
//
System.out.println("\n"+nums1[1][2]);
//注意:对于二维数组,nums1.length 获取的是行数(一维数组的个数)
for(int i=0;i