java学习(二)运算符

时间:2023-02-16 16:41:29

一、运算符

赋值运算符:=  +=  -=  *=  /=  %= 

算术运算符:+ - *  /  %   ++   --   

int x = 3;  int y = 4   int c = x*1.0 /y; //得到小数,乘以1.0,是将int类型转换为浮点类型。php中不用转换。

a++ (--)在前先自加(减),后赋值,a++ (--)在后先赋值,后自加(减);

int  x= 4;

int c = (x++)+(++x)+(x*10)   // 结果为70  c = 4 + 6 + 6*10.     

System.out.println('a');   //a

System.out.println('a'+1);//98

System.out.println("hello"+'a'+1); // helloa1

System.our.println('a'+1+"hello"); // 98hello

比较运算符:>  <  >=   <=   ==    !=

逻辑运算符: &  |  !   &&    ||  ^

&   有false则fase, 都为true的时候为true

|    有ture则为true,都为false的时候为false

^   相同为false ,不同为true

 !    非false为true,非ture为fase

&&        同时为true的时候返回true

||        任意一个为true 返回true

三目运算符:z = x>y ? x :y;

比较三个数中的最大值:

int a = 10;

int b = 20;

int c = 30;

int tmp = a>b?a:b;

int mx = tmp>c?tmp :c;

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

实例:请自己实现两个整数变量的交换

/*
面试题:
请自己实现两个整数变量的交换
*/
class OperatorTest {
public static void main(String[] args) {
int a = 10;
int b = 20;

System.out.println(
"a:"+a+",b:"+b);

//方式1:使用第三方变量(开发中用的)
/*
int c = a;
a = b;
b = c;
System.out.println("a:"+a+",b:"+b);
System.out.println("------------");
*/

//方式2:用位异或实现(面试用)
//左边:a,b,a
//右边:a ^ b
/*
a = a ^ b;
b = a ^ b; //a ^ b ^ b = a
a = a ^ b; //a ^ b ^ a = b
System.out.println("a:"+a+",b:"+b);
*/

//方式3:用变量相加的做法
/*
a = a + b; //a=30
b = a - b; //b=10
a = a - b; //a=20
System.out.println("a:"+a+",b:"+b);
*/

//方式4:一句话搞定
b = (a+b) - (a=b); //b=30-20=10,a=20
System.out.println("a:"+a+",b:"+b);
}
}

 二、java中接入键盘录入

/*
键盘录入
A:导包
格式:
import java.util.Scanner;
位置:
在class上面。
B:创建键盘录入对象
格式:
Scanner sc = new Scanner(System.in);
C:通过对象获取数据
格式:
int x = sc.nextInt();
*/
import java.util.Scanner;

class ScannerDemo {
public static void main(String[] args) {
//创建键盘录入数据对象
Scanner sc = new Scanner(System.in);

System.out.println(
"请你输入一个数据:");
int x = sc.nextInt(); // nextLine() 字符串

System.out.println(
"你输入的数据是:"+x);
}
}