java-2

JAVA Class2

 

学习内容:

1.运算符:

自增、自减

复制代码
int a = 4;
int b = 3;
a++;//先运算后加,如果有赋值、比较之类的运算,会先把a当前值进行赋值、比较,然后自身+1,如果没有参与运算,则直接自身+1
b--;
++a;//先加后运算,自身先+1,然后+1的这个值进行赋值、比较之类的运算
--b;
System.out.println(a);
System.out.println(b);
复制代码

2.赋值

int d = 5;
int e = 7;
System.out.println(d=e);
System.out.println(d==e); //注意,由于上方d的值已经被赋予e的值,所以返回true

3.逻辑运算

长路、短路与运算

复制代码
int i = 2;
System.out.println(i==1 & i++ == 2);
System.out.println(i); //长路与,无论第一个表达式真假与否,第二个表达式都会被运算,输出i=3
int j = 2;
System.out.println(j==1 && j++ ==2);
System.out.println(j); //短路与,表达式一为假,第二个表达式不运算,输出j为2,如果表达式1为真,都为真,都会执行
复制代码

长路、短路或运算

int i = 2;
int j = 2;
System.out.println(j==1 || j++ ==2);
System.out.println(j);//表达式1为假,但表达式2为真,表达式2会被执行,输出j为3

综合运用:

复制代码
int x = 1,y = 1;
if(x++==2 & ++y==2) //假 真 假 if内语句不执行 但是++y执行,同时x++执行
    {
        x =7;
    }
System.out.println("x="+x+",y="+y);  //x=2,y=2

int x = 1,y = 1;
if(x++==2 && ++y==2)//假 真 假 if内语句不执行 ++y不执行
    {
        x =7;
    }
System.out.println("x="+x+",y="+y); //x=2,y=1
int x = 1,y = 1;

if(x++==1 | ++y==1) 真 假 真 ++y执行  if内语句执行 
    {
        x =7;
    }
System.out.println("x="+x+",y="+y); //x=7,y=2

int x = 1,y = 1;

if(x++==1 || ++y==1) 真 假 真 ++y不执行 y=1 x=7
    {
        x =7;
    }
System.out.println("x="+x+",y="+y); //x=7,y=1
    
    
复制代码

4.异或运算

相同为false,不同为true

boolean a = true;
boolean b = false;
System.out.println(a^b); //true
System.out.println(a^!b); //false

5.Scanner类

复制代码
import java.util.Scanner;
public class Demo{
      public static void main(String[] args){
                Scanner s = new Scanner(System.in);
            System.out.println("请输入一个数字:");
        int i = s.nextInt();
        System.out.println("您输入的数字是"+i);
        String t = s.next();
        System.out.println("你输入的文字是"+t);
        s.close();
      }    
}
复制代码

 6.Random类

复制代码
import java.util.Random;
class Test 
{
    public static void main(String[] args) 
    {
        Random r = new Random(); //随机数,取值范围左闭右开
        int z = r.nextInt(100); //随机整数
        double db = r.nextDouble(10); //随机小数
    }
}
复制代码

7.switch

JAVA中的switch语句可接收的参数有 byte short int long类型,

1.7及以后版本可接收String 否则string类型需要使用enum枚举

8.for循环

复制代码
class Test 
{
    public static void main(String[] args) 
    {
        for(int i = 0;i<5;i++){
            System.out.println("");
            for(int j=0;j<i+1;j++){
                System.out.print("*");
            }
        }
    }
}
复制代码

PS:上例中的双层for循环,外层循环控制行,内层循环控制列,输出的效果类似于表格,利用该方法可以实现很多输出效果:

例:

复制代码
class test 
{    
        public static void printn(){
        int cou = 0;
        for(int i=1;i<=100;i++){
            if(i%10==9|i/10==9){
                }else{
                    if(i<10){
                        System.out.print(i+"  ");
                    }else{
                        System.out.print(i+" ");
                    }
                    cou++;// for语句内定义一个变量用来计数,每输出一个满足条件的数,该变量+1
                    if(cou%5==0){
                        System.out.println("");
                    }
                }
        }
    }
    public static void main(String[] args) 
    {
        printn();
    }
}
复制代码

 for循环执行顺序:

for(语句1;语句2;语句3){

  执行语句;

}

语句1>>语句2,若为true>>执行语句>>语句3>>语句2,若为true,执行语句......>>语句3>>语句二,false,循环结束

PS while语句的使用技巧

利用while语句可以实现某些功能的控制台循环执行的效果,例如:

复制代码
while(true){
            System.out.println("-------库存管理-------");
            System.out.println("1.查看库存清单");
            System.out.println("2.修改库存数量");
            System.out.println("3.退出");
            System.out.println("请输入要执行的操作序号:");
            int select = se.nextInt();
            switch(select){
                case 1:
                    CheckInventory(mba,tp,asus);
                    break;
                case 2:
                    ChangeInventory(mba,tp,asus);
                    break;
                case 3:
                    se.close();
                    return;
                default:
                    System.out.println("操作号输入错误,请重新输入:");    
            }
        }
当用户输入错误时,可以实现Scanner的再次调用,并且使得switch语句再次进行判断,
另外用户可在执行完1或2的操作时,可选则执行其他的操作,
直到用户选择退出。
原文地址:https://www.cnblogs.com/wangnatian/p/8630606.html