您的位置:首页 > 编程语言 > Java开发

java基础学习日志04

2017-12-14 09:53 246 查看
今天是第四天

如何输入到控制台:

Scanner sc = new Scanner(System.in);
System.out.println("请输入一个sss");
String str = sc.next();
System.out.println(str);

数值运算符

逻辑判断

public class MathTyepDemo {
public static void main(String[] args) {
// int i=10,j=9,k;
//// k=(i++)+j++;
// k=i--+(++j-i--)+j++;
// System.out.println(i);
// System.out.println(j);
// System.out.println(k);

// double x = 3150;
// x=x/1000*1000;
// System.out.println(x);

// int i=10,k=11,j=12,m = 0;
// m+=i+k--+j+++(i*=j);
// System.out.println(m);

// int i=2,j=3,k=4;
// &运算符两边同时同时成立,结果为true,否则为false
// boolean b1 = i<=j&j<=k;
// boolean b2 = i>j& k<j;
// | 运算符两边只要有一个成立,结果即为true,当两边都为false结果才为false
// boolean b3 = i<j | j<k;
// boolean b4 = i>j |j>k;
// ! 运算符,!true == false; !false== true;
// boolean b5 = !(i>j);
// ^运算符表示,两边结果相同为false,不同为ture;
// boolean b6 = i<j ^ j<k; //false
// boolean b7 = i>j ^ j>k; //false
// boolean b8 = i<j ^ j>k; //true

// && 和 &结果相同,只不过存在效率高低的问题
// 如下,在短路与操作中如果i<j为false,则直接将false赋值给b9,不用计算j<k;
// 如果i<j,成立,才继续判断j<k是否成立。
// boolean b9 = i<j && j<k;
// ||和|结果相同,只不过存在效率高低的问题
// 如下,在短路或操作中 如果i<j成立,则不用判断第二表达式是否成立,直接返回结果,
// 如果i<j不成立,才去判断j<k;
// boolean b10 = i<j || j<k;
// 逻辑运算符用在移位操作上时,首先,将对应的值转换为二进制,对二级制进行操作
// 将&用于位运算,如下,首先是对i和j的值进行二进制,然后逐位运算
// 10:00001010
// &
// 23:00010111
// 两个二进制进行逐位运算,如果都为1,则为1,否则为0
// 结果:00000010; 结果转为十进制为:2
// int i=10,j=23,k;
// int i1=i&j;
// System.out.println(i1);

// 将|用于位运算,如下,首先是对i和j的值进行二进制,然后逐位运算
// 10:00001010
// &
// 23:00010111
// 两个二进制进行逐位运算,如果两边有一个为1,则为1,否则为0
// 结果:00011111; 结果转为十进制为:31
// int i=10,j=23,k;
// int i1=i|j;
// System.out.println(i1);
// 将^用于位运算,如下,首先是对i和j的值进行二进制,然后逐位运算
// 10:00001010
// &
// 23:00010111
// 两个二进制进行逐位运算,每个位数上相同为0,不同为1
// 结果:00011101; 结果转为十进制为:29
// 对同一个数进行两次^,还是该数本身
// int i=10,j=23;
// int i1=i^j;
// System.out.println(i1);

// 为运算符<<,>>,>>>
// 如果对一个数值型数据移位操作,如果是byte,short,int就根据对32进行取模,long对64取模,然后位移最后的模数。
// <<运算符,如果将一个数左移n位,相当于对该数乘以2的n次方
// int i=10;
// int k=i<<2;
// System.out.println(k);
// int q = i<<32;
// System.out.println(q);

// >>运算,如果一个数右移n位,相当于该数除以2的n次方,结果取整
// int i=12;
// int j = i>>2;
// System.out.println(j);
// int q = i>>64;
// System.out.println(q);

// int i=100;
// int q = i<<33;
// System.out.println(q);
// long b = 20;
// long b1 = b<<65;
// System.out.println(b1);
// >>>运算符,无符号右移,在右移时,不用判断最高位的符号位,直接补0;
// int i=-10;
// int y = i>>>2;
// System.out.println(y);

// 三元运算符相当于简单的if(){}else{}
//		三元运算符有三个操作数,Java语言中只有一个三元运算符?:
//		三元运算符的使用格式:expression ? result1 : result2
//		运算方式:首先计算表达式expression,它的结果是一个布尔值,如果该值为true,则返回表达式result1的值,否则返回表达式result2的值。result1和result2返回的数据类型必须相同。
//		三元运算符实现了if-else语句的功能,而且比较简练。

//		int i = 10, j = 12, k, q = 13;
//		k = i < j ? (j < q ? q : j) : (i < q ? q : i);
//		System.out.println(k);
//
//		if (i < j) {
//			k = j;
//		} else {
//			k = i;
//		}

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

//		输入输出
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个数字");
int i = sc.nextInt();
System.out.println(i);
System.out.println("请输入一个字符串");
String str = sc.next();
System.out.println(str);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: