写在前面:今天继续分享一些JAVA的基础操作,这个系列主要是以代码为主体。
学习内容安排
JAVA基础课程学习:数据类型(一)、运算符表达式和程序结构控制(二)、面向对象基础:类与对象和接口(三)、面向对象基础:继承抽象多态封装(四)、异常类和常用实用类(五)、组件和事件处理(六)、IO和JDBC(七)、泛型和集合函数(八)。
二、运算符表达式和程序结构控制
在本节的分享中,我们主要会简单说几句JAVA的运算符,重点对if、switch、for、while、以及break和continue的使用。
JAVA运算符
JAVA常见的运算符有的算术运算符、自增自减运算符、关系运算、逻辑运算符与表达式、赋值运算符,分别是,
类别 | 运算符 | 含义 |
---|---|---|
算术运算符 | + | 加法运算 |
算术运算符 | - | 减法运算 |
算术运算符 | * | 乘法运算 |
算术运算符 | / | 除法运算 |
算术运算符 | % | 求余运算 |
自增自减运算符 | ++,– | 自增,自减 |
关系运算符 | >,>= | 大于,大于等于 |
关系运算符 | <,<= | 小于,小于等于 |
关系运算符 | ==,!= | 等于,不等于 |
逻辑运算符 | &&,||,! | 逻辑与,逻辑或,逻辑非 |
赋值运算符 | = | 赋值 |
这里值得注意的是在自增运算和自减运算各自分别有两种,就是++x与x++,前者是先自增再使用x,后者是先使用x再自增。另一个值得注意的是逻辑或的判断,下面给出两个例子,
package tt;
public class Test2 {
public static void main(String[] args) { //输入psvm按下tab快速生成语句
//自增测试
int x = 10;
int y = x++; //x++意思是先使用x,然后再加1,也就是先赋值再自加
//int y = ++x; //++x意思是先加1,再赋值
System.out.println("x= "+x);
System.out.println("y= "+y);
//逻辑或运算测试
int s, z = 10;
if(((s=0) == 0)||(z=20) == 20) {
System.out.println("现在的z的值是: "+z);
}
}
}
x= 11
y= 10
现在的z的值是: 10
从结果可以看出++x就是先对y进行赋值,然后再对x自增。然后下面的逻辑或判断就是因为第一个条件满足了,,就不进行第二个条件判断,所以z还是等于10。
JAVA的if语句
与其他语言中的if语句差别不大,主要是输入格式的差别,下面展示一个简单的if语句代码,用来判断x=51时,属于哪个档次,
//用来判断x属于哪个档次
package tt;
public class Test2 {
public static void main(String[] args) {
int x =51;
if (x >= 90){
System.out.println("A");
}else if (x >= 80){
System.out.println("B");
}else if (x >= 60){
System.out.println("C");
}else{
System.out.println("D");
}
}
}
JAVA中的switch语句
switch语句就是所谓的开关语句,当发生条件时,即执行某一case,否则执行default,下面同样给出一个例子,用来随机输入然后抽奖,
//随机抽奖
package tt;
public class Test2 {
public static void main(String[] args) {
int number = 0;
System.out.println("输入正整数(回车确定)");
Scanner reader = new Scanner(System.in);
number = reader.nextInt();
switch(number){
case 23:
System.out.println(number+"是三等奖");
break;
case 24:
System.out.println(number+"是二等奖");
break;
case 55:
System.out.println(number+"是一等奖");
break;
default:
System.out.println(number+"未中奖");
break;
}
}
}
这里就不展示这个例子的输出了。
JAVA中的for循环
在for循环中一般情况下需要输入起始条件、判断条件以及增量条件,在日常生活中for循环也会遇到很多,
//实现8+88+888+...第11项的和
package tt;
public class Test2 {
public static void main(String[] args) {
long sum = 0, a = 8, item = a;
for(int i=1; i<12; i++){
sum = sum + item;
item = item*10 + a;
}
System.out.println(sum);
}
}
当然for循环对于数组还有更方便的计算方法,可以直接声明变量后,自动索引运算,
//对于数组的求和
package tt;
public class Test2 {
public static void main(String[] args) {
int s[] = {23,34,12,45,3,4,6,123,456};
int sum = 0;
for (int i = 0; i < s.length; i++){
sum = sum + s[i];
}
System.out.println(sum);//一般循环
sum = 0;
for (int x : s){
sum = sum + x;
}
System.out.println(sum);//数组的循环
}
}
JAVA中的while运算
while运算与for一样是用于循环,但当我们无法知道循环次数的时候,我们可以使用while通过条件进行控制,
//while循环
package tt;
public class Test2 {
public static void main(String[] args) {
int sum = 0;
for(int i = 0; i <= 100; i = i + 2){
sum = sum + i;
}
System.out.println(sum);//for计算100以内偶数和
int sum1 = 0;
int j = 0;
while(j <= 100){
sum1 = sum1 + j;
j = j + 2;
}
System.out.println(sum);//while计算100以内偶数和
}
}
break和continue的使用
在循环中,我们常常得到某个结果后希望结束循环,我们就要使用break,或者得到某个结果后结束当前循环开始下一次,我们就要使用continue函数,
//计算10以内奇数和,寻找100以内的素数
package tt;
public class Test2 {
public static void main(String[] args) {
int sum = 0, i, j;
for (i = 1; i <= 10; i++){
if(i%2==0){
continue;//满足条件为偶数,进入下一次循环
}
sum = sum + i;
}
System.out.println(sum);//计算10以内的奇数和
for(j = 2; j <= 100; j++){
for(i = 2; i <= j/2; i++){ // i <= j/2 是判断条件
if (j%i == 0)
break; //满足条件不为素数,退出当前循环层
}//考虑是否有因子
if(i > j/2){
System.out.println(""+j+"是素数");//统计100以内有多少素数
}
}
}
}
小练习
那么我们就来寻找一下1000以内有多少完美数吧,完美数就是这个数的因子之和(不包括本身)等于本身,比如6=1+2+3,
//寻找1000以内完美数
package tt;
public class Test2 {
public static void main(String[] args) {
for(int i = 2; i <= 1000; i++){
int total = 0;
for(int j = 1; j < i; j++){
if((i%j)==0){
total = total + j;
}
}
if(i == total){
System.out.println(i);
}
}
}
}
6
28
496
结语
本节分享了关于JAVA运算符以及if、switch、for、while、以及break和continue的使用。
谢谢阅读。