java运算符+引用数据类型

一、运算符

比较容易混的:
+正号作为正==3
+加 2+3 5 作为运算符
+连接字符串“中”+“国”“中国” 拼接字符串

     int a=10;
        int b=12;
        System.out.println("sum="+a+b);//正加相连字符串
        System.out.println("sum="+(a+b));//

- * %

例题:运用变量+算是运算符+ 和拼接符“”+“”

class  Demo05
{
    public static void main(String[] args) 
    {
        System.out.println("--------------------商场库存-----------------------");
        System.out.print("品牌型号");
        System.out.print("      ");
        System.out.print("尺寸");
        System.out.print("      ");
        System.out.print("价格");
        System.out.print("      ");
        System.out.println("库存数");
        System.out.print("Mac BookAir");
        double a=13.3;
        System.out.print("    ");
        System.out.print(a);
        System.out.print("    ");
        double b=6988.88;
        System.out.print(b);
        System.out.print("    ");
        int c=5;
        System.out.println(c);
        System.out.print("ThinkpadT450");
        System.out.print("   ");
        double d=14.0;
        System.out.print(d);
        System.out.print("    ");
        double e= 5999.99;
        System.out.print(e);
        System.out.print("    ");
        int f=10;
        System.out.println(f);
        System.out.print("ASUS-PL5800");
        System.out.print("    ");
        double g=15.6;
        System.out.print(g);
        System.out.print("    ");
        double h=4999.5;
        System.out.print(h);
        System.out.print("     ");
        int i=18;
        System.out.println(i);
        System.out.println("---------------------------------------------------");
        System.out.println("总库存数:"+(c+f+i));
        System.out.println("库存商品总金额:"+(b*c+e*f+h*i));
    }
}

1.1 ++ --

++;

i++先使用初始值运算后自增加1

int a = 3;
int b;
b = a++ + 10;
System.out.println(a);4
System.out.println(b);13

++i 先自增加1再用增加值运算

int a = 3;
int b;
b = ++a + 10;
System.out.println(a);
System.out.println(b);

 

新增:/除0和%取余区别

用水仙花数来举例:

var a,b,c;
    for (i=100;i<1000;i++)
        {                            //364
            var a=parseInt(i%10);//ge   364个位数
            var b=parseInt((i/10)%10);//shi 除10=36.4,整形36,%10等于取10位数上的余数6
            var c=parseInt(i/100);//bai
            if(a*a*a+b*b*b+c*c*c==i)
            {
                console.log("你的水仙花数"+i);
            }
        }

分别是取个位,十位,百位,

首先取个位数用取余364%10=36.4取余数4,找未除尽的就是个位数上的水仙花数

十位数364取第二位6 需要先除去10=36.4再取余10=3.64取6

百位数则直接除去100=3.6取整=3

 

1.2 赋值运算符

int a=2;

a=a+1

a=4

a+=2;

 

        int a=2;
        //a=a+2;//a=2+2
        //a+=2;
        int b=3;
        //b%=2
        System.out.println(a=b);
        System.out.println(a==b);
        

 

赋值运算符中的 * +=, -=, *=, /=, %= 都是一样的意思都是 和1有关

1.3 比较运算符

=是赋值,右边给左边 a=3,即把3给a

!=不等于 4==3 true

==等于  false

判断是布尔值

1.4 逻辑运算符  &两边相等      &&两边相等,如果1不满足不执行后面       ^异或两边都满足取反

*/
        //与& 两边都满足,不满足也走相关代码
        System.out.println(true&true);//true
        System.out.println(true&false);//false
        System.out.println(false&false);//false
        //短路与 && 短路与当第一个条件不满足就不再走后面代码
        System.out.println(true&&true);//true
        System.out.println(true&&false);//false
        System.out.println(false&&false);//false
        //异或 两边都满足则取相反值,如果不同是true
        System.out.println(true ^ true);//false
        System.out.println(true ^ false);//true
        System.out.println(false ^ false);//false
        //非 取反 !取方法的反值

1.5三元运算符

(条件表达式)?表达式1:表达式2

如:

int a=3;int b=2

int max=(a>b)?(a:b)?因为a>b所以输出a,如果<输出b

3个:

int a=3;int b=2;int c=4;

int max=(a>b?a:b)?c?(a>b?a:b):c;

先判断a和b的变量大小,比出来和c进行比对。因为c最大所以输出c

四个判断:

int a=3;int b=2;int c=4;int d=6;

int max=(a>b?a:b)?(c>d?c:d)?(a>b?a:b)?(c>d?c:d);

先22判断,d最大输出

二、引用数据类型

scanner字符串类

Scanner功能:
引入数据来完成键盘录入,获取录入的数据。
使用方式:
导包:import java.util.scanner
创建对象:Scanner sc= new Scanner(System.in); sc前不需要加.
调用方法:int i=sc.nextInt();接收控制台录入的数字
    int i=sc.next();接收控制台录入的字符串

    System.out.println("你输入的值为:"+i);

Random 随机数类

随机数类,随机产生nextInt(0-maxValue)范围随机整数,包头不包尾,随机产生nextDouble(0,1)范围小数,包头不包尾
使用方法:
导包:import java.util Random
创建对象:Random r= new Random();
    int i = r.nextInt(10);

    如上面的10是0-9,若想输出1-10之间则需要r。nextInt(10)+1;

    System.out.println("你输入的值为:"+i);

//产生0-1之间的随机小数
        double num2=r.nextDouble();
        System.out.println(num2);

 

posted @ 2019-07-24 17:18  lvyimin  阅读(269)  评论(0编辑  收藏  举报