Java基础之运算符、键盘输入以及流程控制语句
2018-04-07 14:00
507 查看
比较运算符:
>,>=,<,<=,==
注意事项:== 不能写成 =(=是赋值运算符);
赋值运算符:
基本的赋值运算符: =
举例:int a=10 ; 将10赋值给int类型的变量a;
扩展运算符:
+=,-=,*=,/=,%=;
举例:y+=10 ; 把右边的数据赋值给左边,然后在和左边的数据求和;
s=s+1; //默认类型提升,提升为int类型,不能用short去接收int类型的数据;
//解决方案:强制类型转换;
s=(short)(s+1);
逻辑运算符:
基本逻辑运算符:
&:逻辑与; |:逻辑或; ^:逻辑疑惑; !:逻辑非;
结论:
逻辑与&:有false,则false;
逻辑或|:true,则true;
逻辑异或:^:相同则为false,不同则为true;
简单记:(男女关系) 男男 男女 女男 女女
逻辑非!:非true则false,非false,则true,偶数个是他本身;
扩展的逻辑运算符:
逻辑双与:&&; 逻辑双或:| | ;
实际开发中:
逻辑双与&& 用的是最多的!
三目运算符--->三元运算符;
语法:
(表达式)? true的结果:false的结果;
表达式: 举例: (x>y)
(100>150)
执行流程:
首先判断表达式是否成立,如果比表达式成立,就执行true的结果,否则,false的结果;
package org.westos_三目运算符;
/**
* 需求:
* 获取两个整数中的最大值(定义变量默认用int类型)
获取三个整数中的最大值
比较两个整数是否相同
* @author Administrator
*
*/
public class OperatorTest {
public static void main(String[] args) {
//定义两个变量
int a = 10 ;
int b = 20 ;
int max = (a >b) ? a :b ;
System.out.println("max:"+max);
System.out.println("-------------------------");
//定义变量
int m = 20 ;
int n = 40 ;
int z = 30 ;
//一步搞定
//方式1
int max2 = (m>n) ? (m>z ? m : z):(n>z? n :z) ;
//方式2:中间变量进行操作 (实际开发中采用这种方式)
//定义一个变量:temp
int temp = (m > n) ? m : n ; //记录一个最大值
int max2 = (temp >z) ? temp : z ;
System.out.println("max2:"+max2);
}
}算数运算符:
基本算术运算符:+,-,*,/,%(模);
注意:/:取的是整数;
关于+的用法:
+:可以作为运算符;
+ :表示一个数是正整数;
+ :可以作为字符串的拼接符;
扩展运算符: ++或者-- ;
单独使用:
结论:无论++或者--再数据前还是数据后,都是自增1或者自减1;
参与运算使用:
结论:
如果++或者--再数据的前面,先自增或者自减,再参与运算;
如果++或者--再数据的后面,先运算,再进行自增或者自减;
在实际开发中,++在后用的多(比如:流程空语句 for循环语句 步长语句变量名++);
package org.westos_算术运算符;
/**
* 第一题
* int a = 10;
int b = 10;
int c = 10;
a = b++;
c = --a;
b = ++a;
a = c--;
请分别计算出a,b,c的值
第二题:
int x = 4;
int y = (x++)+(++x)+(x*10);
请分别计算出x,y的值
*/
public class OperatorTest {
public static void main(String[] args) {
int a = 10;
int b = 10;
int c = 10;
a = b++; //a=10,b=11, c=10
c = --a;// a=9, b=11,c=9
b = ++a;//a=10,b=10,c=9
a = c--;//a=9, b=10,c=8
System.out.println("a:"+a);
System.out.println("b:"+b);
System.out.println("c:"+c);
int x = 4;
int y = (x++)+(++x)+(x*10);
//x = 4
// y = 4 + 6 + (6*10)
System.out.println("x:"+x);
System.out.println("y:"+y);
}
}
流程控制语句之顺序结构语句:
顺序结构语句: 代码从main方法中从上而下依次执行的;
流程控制语句值if语句:
分类:三种格式;
①if(条件表达式){
语句;
}
②if(条件表达式){ 条件表达式:无论是简单的表达式还是复杂的表达式 值都是boolean类型
语句1;
}else{
语句2;
}
③if(条件表达式1){
语句1;
}else if(条件表达式2){
语句2;
}else if(..){
语句3;
}else{
语句n+1;
}
if语句的注意事项:
1)if语句中的大括号,可以省略,但是不建议省略;
2)有大括号的地方不能有分号,有分号的地方不能有大括号;
3)这种格式的if语句,适合单个条件的判断;
>,>=,<,<=,==
注意事项:== 不能写成 =(=是赋值运算符);
赋值运算符:
基本的赋值运算符: =
举例:int a=10 ; 将10赋值给int类型的变量a;
扩展运算符:
+=,-=,*=,/=,%=;
举例:y+=10 ; 把右边的数据赋值给左边,然后在和左边的数据求和;
面试题: short s=1; s = s+1; short s=1; s+=1; 对于扩展的赋值运算符 s+=1 不等价于 :s = s +1 ; 等价于: s = (s)(s+1) ; 扩展的赋值运算符隐藏了强制类型转换! 上面两个代码有没有问题,如果有,那里有问题。//解答:
s=s+1; //默认类型提升,提升为int类型,不能用short去接收int类型的数据;
//解决方案:强制类型转换;
s=(short)(s+1);
逻辑运算符:
基本逻辑运算符:
&:逻辑与; |:逻辑或; ^:逻辑疑惑; !:逻辑非;
结论:
逻辑与&:有false,则false;
逻辑或|:true,则true;
逻辑异或:^:相同则为false,不同则为true;
简单记:(男女关系) 男男 男女 女男 女女
逻辑非!:非true则false,非false,则true,偶数个是他本身;
扩展的逻辑运算符:
逻辑双与:&&; 逻辑双或:| | ;
实际开发中:
逻辑双与&& 用的是最多的!
面试题: 逻辑双与&& 和逻辑单与&的区别? a:共同点:效果是一样的 b:逻辑双与&& :如果左边的表达式如果是false,那么右边不执行(具有短路效果) 逻辑双|| :如果左边的表达式是true,那么右边不执行(具有短路效果)san三目运算符:
三目运算符--->三元运算符;
语法:
(表达式)? true的结果:false的结果;
表达式: 举例: (x>y)
(100>150)
执行流程:
首先判断表达式是否成立,如果比表达式成立,就执行true的结果,否则,false的结果;
package org.westos_三目运算符;
/**
* 需求:
* 获取两个整数中的最大值(定义变量默认用int类型)
获取三个整数中的最大值
比较两个整数是否相同
* @author Administrator
*
*/
public class OperatorTest {
public static void main(String[] args) {
//定义两个变量
int a = 10 ;
int b = 20 ;
int max = (a >b) ? a :b ;
System.out.println("max:"+max);
System.out.println("-------------------------");
//定义变量
int m = 20 ;
int n = 40 ;
int z = 30 ;
//一步搞定
//方式1
int max2 = (m>n) ? (m>z ? m : z):(n>z? n :z) ;
//方式2:中间变量进行操作 (实际开发中采用这种方式)
//定义一个变量:temp
int temp = (m > n) ? m : n ; //记录一个最大值
int max2 = (temp >z) ? temp : z ;
System.out.println("max2:"+max2);
}
}算数运算符:
基本算术运算符:+,-,*,/,%(模);
注意:/:取的是整数;
关于+的用法:
+:可以作为运算符;
+ :表示一个数是正整数;
+ :可以作为字符串的拼接符;
扩展运算符: ++或者-- ;
单独使用:
结论:无论++或者--再数据前还是数据后,都是自增1或者自减1;
参与运算使用:
结论:
如果++或者--再数据的前面,先自增或者自减,再参与运算;
如果++或者--再数据的后面,先运算,再进行自增或者自减;
在实际开发中,++在后用的多(比如:流程空语句 for循环语句 步长语句变量名++);
package org.westos_算术运算符;
/**
* 第一题
* int a = 10;
int b = 10;
int c = 10;
a = b++;
c = --a;
b = ++a;
a = c--;
请分别计算出a,b,c的值
第二题:
int x = 4;
int y = (x++)+(++x)+(x*10);
请分别计算出x,y的值
*/
public class OperatorTest {
public static void main(String[] args) {
int a = 10;
int b = 10;
int c = 10;
a = b++; //a=10,b=11, c=10
c = --a;// a=9, b=11,c=9
b = ++a;//a=10,b=10,c=9
a = c--;//a=9, b=10,c=8
System.out.println("a:"+a);
System.out.println("b:"+b);
System.out.println("c:"+c);
int x = 4;
int y = (x++)+(++x)+(x*10);
//x = 4
// y = 4 + 6 + (6*10)
System.out.println("x:"+x);
System.out.println("y:"+y);
}
}
流程控制语句之顺序结构语句:
顺序结构语句: 代码从main方法中从上而下依次执行的;
流程控制语句值if语句:
分类:三种格式;
①if(条件表达式){
语句;
}
②if(条件表达式){ 条件表达式:无论是简单的表达式还是复杂的表达式 值都是boolean类型
语句1;
}else{
语句2;
}
③if(条件表达式1){
语句1;
}else if(条件表达式2){
语句2;
}else if(..){
语句3;
}else{
语句n+1;
}
if语句的注意事项:
1)if语句中的大括号,可以省略,但是不建议省略;
2)有大括号的地方不能有分号,有分号的地方不能有大括号;
3)这种格式的if语句,适合单个条件的判断;
相关文章推荐
- 3 Java基础语法(运算符,键盘录入,流程控制语句,if语句)
- 黑马程序员——Java基础(三)之运算符、键盘录入、流程控制语句
- 2.1Java基础语法(运算符、键盘录入、流程控制语句)
- 黑马程序员---java基础---运算符、键盘录入、流程控制语句
- 黑马程序员_java基础之运算符.键盘录入,流程控制语句
- Java基础复习之二:运算符,键盘录入,流程控制语句,if语句,三元运算
- 黑马程序员_Java基础_常用基础内容(进制转换、基本数据类型、运算符、流程控制语句等)
- Java基础学习第三天——运算符与流程控制语句
- Java基础语法(二)----运算符和流程控制语句(之运算符)
- Java语言基础(二)——数据类型、运算符和流程控制语句
- Java基础知识(数据类型、标识符、变量、运算符和流程控制语句)
- 黑马程序员——Java基础--键盘录入数据与流程控制语句
- Java基础学习03 -- 运算符与流程控制语句
- Java基础语法(二)----运算符和流程控制语句 (之 流控制语句)
- Java基础语法(一)---数据、数值类型、运算符、程序流程控制语句和循环结构
- java基础59 JavaScript运算符与控制流程语句(网页知识)
- 黑马程序员_Java基础_进制转换、基本数据类型、运算符、流程控制语句等
- Java基础语法——运算符、流程控制语句、if条件语句
- JAVA基础1 运算符、流程控制语句、
- Java基础知识(数据类型、标识符、变量、运算符和流程控制语句)