JAVA之路002-运算符
来源:互联网 发布:淘宝投票活动说明 编辑:程序博客网 时间:2024/06/09 21:47
## 运算符
###++ -- 的用法
1. ++a 先赋值后运算
2. a++ 先运算后赋值
例如:
public class Suanshu2{
public static void main(String[] args){
int num = 1; //声明一个变量
int num2 = 5;
int i = 1;
System.out.println(num+num2);
/*++ --*/
/*
num++ ++num; ->num = num+1;
num-- --num; ->num = num-1;
*/
num = num++; //->num = num+1;
/*num++ 包含的意思为,先运算在自增 ++num先自增在运算*/
num2 = ++num2;//6
//num2 = num2+1;
System.out.println("值为:"+i++*++i*i++); //
System.out.println("i="+i); //
System.out.println(num);
System.out.println(num2);
int j = 1;
//System.out.println("j++结果:"+j++); //j = 1; j=j+1 j=2
//System.out.println(++j); // 先运算j=j+1 在输出
j = j++; j = j+1;
int n = 1;
n = n+j;
System.out.println("1n"+n);
n = n+j;
System.out.println("2n"+n);
//运算符优先级
//.()->算数运算符->关系运算符->位运算符->逻辑运算符->三目运算符->赋值运算符。
}
}
###位运算符
public class Wei{
public static void main(String[] args){
/*& 位于
*| 位或
*^ 位异
*~ 位补(位非)
*<< 左移运算符
*>> 右移
*>>> 按右移补0操作符
* */
int a = 60;
int b = 13;
System.out.print("a&b ="+(a&b));//位与
System.out.print("a|b ="+(a|b));//位或
System.out.print("a^b ="+(a^b));//位异
System.out.println("~a ="+(~a));//位补
System.out.println("a<<2 ="+(a<<2));//位移
System.out.println("a<<3 ="+(a<<3));//位移 左边移动增加移动的倍数。
//位操作是效率最高的运算符。
System.out.println("a>>2 ="+(a>>2)); //右位移。
System.out.println("a>>>2 ="+(a>>>2)); //右位移,补0操作符,移动过后的空位补零填充。
a+=1; //-> a = a+1
a-=1; //-> a = a-1;
a+=b; //-> a = a+b;
}
}
###逻辑运算符
public class Luoji{
public static void main(String[] args){
int year = 2000;
System.out.print(!(year%4==0 && year %100 !=0)); //同时为真才返回真,否则假。
if(year%4==0 && year %100 !=0){ //&& 且。逻辑与。
}
if((year%4==0 && year %100 !=0) || year %400 ==0){ // ||或 ;逻辑或。只要一个为真返回真
}
}
}
###关系运算符
public class Guanxi{
public static void main(String[] args){
/*关系运算符 > < >= <= == !=*/
System.out.print(3>2); //关系比较得到两个结果 true false。
/*
* = 赋值运算符
* == 判断。
* */
int i = 1;
if(i !=1){ //true false
}
char a = 'a'; //->97
char A = 'A'; //->65
System.out.print(a>A); //比较ascii码。
int d =1,b = 2,c = 3;
//System.out.print((d>b)>(d>c)); boolean值boolean无法比较
}
}
###三目运算符
import java.util.Scanner;
public class Sanmu{
public static void main(String[] args){
/*三目运算符 三元运算符 条件运算符*/
int age;
Scanner s = new Scanner(System.in);
System.out.print("请输入你的年龄");
age = s.nextInt();
String res = (age>18)?"欢迎来到洗浴中心":"未成年不得进入"; //age>18
System.out.print(res);
}
}
##课堂练习
求三个数的最大值
import java.util.Scanner;
public class AvgValue {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner s = new Scanner(System.in);
System.out.println("请输入第一个数");
int a = s.nextInt();
int max = a; //把第一次输入的值当作最大值,和后面的值比较
System.out.println("请输入第二个数");
int b = s.nextInt();
max = (b>max)?b:max; //b如果比max大 ,max = b;
System.out.println("请输入第三个数");
int c = s.nextInt();
max = (c>max)?c:max; //b如果比max大 ,max = c;
System.out.print(max);
s.close(); //关闭scanner对象输入。
}
}
自己做的,求最大值和平均数
import java.util.Scanner;
public class Sanmu{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
int x=sc.nextInt();
int y=sc.nextInt();
int z=sc.nextInt();
int a=(x>y)?x:y;
double avg=(x+y+z)/3.0;
System.out.print("最大的数是:");
System.out.print((a>z)?a:z);
System.out.print("平均值为:"+avg);
sc.close();
}
}
##顺序结构
语句A→语句B
##选择结构
if语句 多分支条件语句
if(布尔表达式){//如果布尔表达式为真,就执行的语句
//花括号表示代码块
}
else if(布尔表达式){}
else{//当if不满足条件,进入否则代码块
}
嵌套IF
就是if中间在加上if语句
if(){
if(){
}
}else if(){}
例如给定一个数求星期几
import java.util.Scanner;
public class Time {
public static void main(String[] args){
Scanner s=new Scanner(System.in);
System.out.print("请输入一个时间");
int num= s.nextInt();
if(num%7==1){
System.out.print("星期一");
}
else if(num%7==2){
System.out.print("星期二");
}
else if(num%7==3){
System.out.print("星期三");
}
else if(num%7==4){
System.out.print("星期四");
}
else if(num%7==5){
System.out.print("星期五");
}
else if(num%7==6){
System.out.print("星期六");
}
else {
System.out.print("星期天");
}
s.close();
}
}
PS:根据昨天的习题,自己写的一个十进制转二进制的代码
import java.util.Scanner;
public class Er{
public static void main(String[] agrs){
Scanner S =new Scanner(System.in);
int num=S.nextInt();
String str="";
int i;
while(num>0){
i=num%2;
str=i+str;
num=num/2;
}
System.out.print(str);
}
}
###++ -- 的用法
1. ++a 先赋值后运算
2. a++ 先运算后赋值
例如:
public class Suanshu2{
public static void main(String[] args){
int num = 1; //声明一个变量
int num2 = 5;
int i = 1;
System.out.println(num+num2);
/*++ --*/
/*
num++ ++num; ->num = num+1;
num-- --num; ->num = num-1;
*/
num = num++; //->num = num+1;
/*num++ 包含的意思为,先运算在自增 ++num先自增在运算*/
num2 = ++num2;//6
//num2 = num2+1;
System.out.println("值为:"+i++*++i*i++); //
System.out.println("i="+i); //
System.out.println(num);
System.out.println(num2);
int j = 1;
//System.out.println("j++结果:"+j++); //j = 1; j=j+1 j=2
//System.out.println(++j); // 先运算j=j+1 在输出
j = j++; j = j+1;
int n = 1;
n = n+j;
System.out.println("1n"+n);
n = n+j;
System.out.println("2n"+n);
//运算符优先级
//.()->算数运算符->关系运算符->位运算符->逻辑运算符->三目运算符->赋值运算符。
}
}
###位运算符
public class Wei{
public static void main(String[] args){
/*& 位于
*| 位或
*^ 位异
*~ 位补(位非)
*<< 左移运算符
*>> 右移
*>>> 按右移补0操作符
* */
int a = 60;
int b = 13;
System.out.print("a&b ="+(a&b));//位与
System.out.print("a|b ="+(a|b));//位或
System.out.print("a^b ="+(a^b));//位异
System.out.println("~a ="+(~a));//位补
System.out.println("a<<2 ="+(a<<2));//位移
System.out.println("a<<3 ="+(a<<3));//位移 左边移动增加移动的倍数。
//位操作是效率最高的运算符。
System.out.println("a>>2 ="+(a>>2)); //右位移。
System.out.println("a>>>2 ="+(a>>>2)); //右位移,补0操作符,移动过后的空位补零填充。
a+=1; //-> a = a+1
a-=1; //-> a = a-1;
a+=b; //-> a = a+b;
}
}
###逻辑运算符
public class Luoji{
public static void main(String[] args){
int year = 2000;
System.out.print(!(year%4==0 && year %100 !=0)); //同时为真才返回真,否则假。
if(year%4==0 && year %100 !=0){ //&& 且。逻辑与。
}
if((year%4==0 && year %100 !=0) || year %400 ==0){ // ||或 ;逻辑或。只要一个为真返回真
}
}
}
###关系运算符
public class Guanxi{
public static void main(String[] args){
/*关系运算符 > < >= <= == !=*/
System.out.print(3>2); //关系比较得到两个结果 true false。
/*
* = 赋值运算符
* == 判断。
* */
int i = 1;
if(i !=1){ //true false
}
char a = 'a'; //->97
char A = 'A'; //->65
System.out.print(a>A); //比较ascii码。
int d =1,b = 2,c = 3;
//System.out.print((d>b)>(d>c)); boolean值boolean无法比较
}
}
###三目运算符
import java.util.Scanner;
public class Sanmu{
public static void main(String[] args){
/*三目运算符 三元运算符 条件运算符*/
int age;
Scanner s = new Scanner(System.in);
System.out.print("请输入你的年龄");
age = s.nextInt();
String res = (age>18)?"欢迎来到洗浴中心":"未成年不得进入"; //age>18
System.out.print(res);
}
}
##课堂练习
求三个数的最大值
import java.util.Scanner;
public class AvgValue {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner s = new Scanner(System.in);
System.out.println("请输入第一个数");
int a = s.nextInt();
int max = a; //把第一次输入的值当作最大值,和后面的值比较
System.out.println("请输入第二个数");
int b = s.nextInt();
max = (b>max)?b:max; //b如果比max大 ,max = b;
System.out.println("请输入第三个数");
int c = s.nextInt();
max = (c>max)?c:max; //b如果比max大 ,max = c;
System.out.print(max);
s.close(); //关闭scanner对象输入。
}
}
自己做的,求最大值和平均数
import java.util.Scanner;
public class Sanmu{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
int x=sc.nextInt();
int y=sc.nextInt();
int z=sc.nextInt();
int a=(x>y)?x:y;
double avg=(x+y+z)/3.0;
System.out.print("最大的数是:");
System.out.print((a>z)?a:z);
System.out.print("平均值为:"+avg);
sc.close();
}
}
##顺序结构
语句A→语句B
##选择结构
if语句 多分支条件语句
if(布尔表达式){//如果布尔表达式为真,就执行的语句
//花括号表示代码块
}
else if(布尔表达式){}
else{//当if不满足条件,进入否则代码块
}
嵌套IF
就是if中间在加上if语句
if(){
if(){
}
}else if(){}
例如给定一个数求星期几
import java.util.Scanner;
public class Time {
public static void main(String[] args){
Scanner s=new Scanner(System.in);
System.out.print("请输入一个时间");
int num= s.nextInt();
if(num%7==1){
System.out.print("星期一");
}
else if(num%7==2){
System.out.print("星期二");
}
else if(num%7==3){
System.out.print("星期三");
}
else if(num%7==4){
System.out.print("星期四");
}
else if(num%7==5){
System.out.print("星期五");
}
else if(num%7==6){
System.out.print("星期六");
}
else {
System.out.print("星期天");
}
s.close();
}
}
PS:根据昨天的习题,自己写的一个十进制转二进制的代码
import java.util.Scanner;
public class Er{
public static void main(String[] agrs){
Scanner S =new Scanner(System.in);
int num=S.nextInt();
String str="";
int i;
while(num>0){
i=num%2;
str=i+str;
num=num/2;
}
System.out.print(str);
}
}
0 0
- JAVA之路002-运算符
- java之运算符
- Java之运算符
- Java运算符之&、|、&&、||、!
- Java 运算符之 & | ~ ^
- java之运算符
- java运算符之++、--
- java之运算符
- Java之运算符
- JAVA运算符之 ++
- Java运算符之算术运算符
- Java运算符之算术运算符
- java之复合运算符
- java初学之运算符
- java 之 移位运算符
- java基础之运算符
- java之位运算符
- java笔记之运算符
- idr 机制 radix tree
- HDU 3759(暴力映射)
- 《程序员的自我修养》第十一章读书笔记
- Android 6.0 向用户申请权限,运行时权限
- Discuz的forum_index.php文件的分析
- JAVA之路002-运算符
- pkg-config的用法
- 动态规划 problem o
- Android开发工具之Android Studio----Gradle
- microstation level2 0405
- 使用scrapy进行大规模抓取(二)
- XML
- 红外测温传感器的现状
- Maven 项目依赖本地工程 运行时出现ClassNotFoundException的问题