发表于: 2017-08-11 22:56:16

1 899


今天完成的任务

1.运算符


package secondday;
import java.util.Scanner;//使用Scanner函数需要导入
class Operator {
class NumericOperator{
/*
       int i = 1;//i++; 先取值,再运算++i; 先运算,再取值
       int j = ++i + i++ + ++i + ++i + i++;//
       //(1+1)+2+1+(3+1)+(4+1)+5+1
       //i=2 3 4 5 6
       //j=2+2+4+5+5
       System.out.println(j);//18
       System.out.print(i);//6


       Scanner bmi = new Scanner(System.in);//实例化这个对象
       System.out.println("输入身高(m)");
       float  height = bmi.nextFloat();
       System.out.println("输入体重(kg)");
       float  weight = bmi.nextFloat();
       float theBmi=weight/(height*height);
       System.out.println(theBmi);
*/}
class RelationOperator{
/*
       int a = 5;
       int b = 6;
       int c = 5;
      System.out.println(a>b);  //返回 false
      System.out.println(a>=c);  //返回 true
      System.out.println(a==b); //返回false
      System.out.println(a!=b);//返回true


    > 大于
    >= 大于或等于
    < 小于
    <= 小于或等于
    == 是否相等
    != 是否不等
    关系运算符返回一个布尔变量
      */
   }
class LogicalOperator{
/*
       //长路与  无论第一个表达式的值是true或者false,第二个的值,都会被运算
       int i = 2;
       System.out.println( i== 1 & i++ ==2  ); //无论如何i++都会被执行,所以i的值变成了3
       System.out.println(i);
       //短路与 只要第一个表达式的值是false的,第二个表达式的值,就不需要进行运算了
       int j = 2;
       System.out.println( j== 1 && j++ ==2  );  //因为j==1返回false,所以右边的j++就没有执行了,所以j的值,还是2
       System.out.println(j);
       System.out.println( j== 1 && ++j ==2  );  //因为j==1返回false,所以右边的j++就没有执行了,所以j的值,还是2
       System.out.println(j);
//都为真时,才为真  任意为假,就为假


       //长路或  无论第一个表达式的值是true或者false,第二个的值,都会被运算
       int i = 2;
       System.out.println( i== 1 | i++ ==2  ); //无论如何i++都会被执行,所以i的值变成了3
       System.out.println(i);
       //短路或 只要第一个表达式的值是true的,第二个表达式的值,就不需要进行运算了
       int j = 2;
       System.out.println( j== 2 || j++ ==2  );  //因为j==2返回true,所以右边的j++就没有执行了,所以j的值,还是2
       System.out.println(j);
//都为假时,才为假任意为真,就为真


       boolean b = true;
       System.out.println(b); //输出true
       System.out.println(!b);//输出false
//取反!真变为假  假变为真


       boolean a = true;
       boolean b = false;
       System.out.println(a^b); //不同返回真
       System.out.println(a^!b); //相同返回假
//异或^两值不同,返回真两值相同,返回假
       /*
       int i = 1;
       boolean b = !(i++ == 3) ^ (i++ ==2) && (i++==3);
                    !(i++==3)  i=2 !false=true
                    true^(i++==2 true) i=3 false
                    (false&&) false 为短路与 后面不计入运算

       System.out.println(b);
       System.out.println(i);

*/

   }
class AssignmentOperators{
/*
       int i = 1;
       i+=++i;
       System.out,print(i);//i += ++i 等价于 i = i + ++i;i=1+2
       */
   }
class TernaryOperator{
/*
       int i = 5;
       int j = 6;
       int k = i < j ? 99 : 88;
       // 相当于
       if (i < j) { k = 99; } else { k = 88; }
       System.out.println(k);
表达式?值1:值2
如果表达式为真 返回值1
如果表达式为假 返回值2
*/
   }
public static void main(String[] args){

System.out.println("输入星期几");
Scanner s = new Scanner(System.in);//实例化这个对象
   int i = s.nextInt();
int j=5;
String k=i<j?"工作日":"休息日";
System.out.println(k);
}
}

2.Scanner通过数值台输入

package secondday;
import java.util.Scanner;//使用Scanner函数需要导入

public class ScannerJava {


public static void main(String[] args) {

Scanner s = new Scanner(System.in);//实例化这个对象

       int i = s.nextInt();
System.out.println("读取的整数是"+ i);
String n = s.nextLine();//因为nextLine会接受上一个输入语句的一个转行字符\n,但是这个\n不会成为返回的字符
       String a = s.nextLine();
System.out.println("读取的字符串是:"+a);
/*
       System.out.println("请输入第一个整数");
       int in1=s.nextInt();
       System.out.println("您输入的整数是:"+in1);

       System.out.println("输入浮点数:");
       float fl1=s.nextFloat();
       System.out.println("您输入的浮点数是:"+fl1);

       System.out.println("输入字符串:");
       String str1=s.next();
       System.out.println("您输入的浮点数是:"+str1);

       System.out.println("输入字符串:");
       String str2=s.next();
       System.out.println("您输入的浮点数是:"+str2);

       System.out.println("请输入第一个整数");
       int in2=s.nextInt();
       System.out.println("您输入的整数是:"+in2);
*/

}}
/*
   public static void main(String[] args) {
       Scanner s = new Scanner(System.in);
       int a = s.nextInt();
       System.out.println("第一个整数:"+a);
       float b = s.nextFloat();
       System.out.println("读取的浮点数的值是:"+b);
       String c = s.nextLine();
       System.out.println("读取的字符串是:"+c);
}
*/




明天要做的事,接着看下面的内容




遇到的问题:今天学习的内容比较简单,倒是没遇到什么解决不了的...



收获:i++和++i的各种骚操作实在是绕的我晕晕的,233


返回列表 返回列表
评论

    分享到