JAVA运算符
来源:互联网 发布:php java哪个好学 编辑:程序博客网 时间:2024/06/16 09:47
算数运算符
• 运算符
对常量和变量进行操作的符号称为运算符
• 表达式
用运算符把常量或者变量连接起来符号java语法的式子就可以称为表达式。不同运算符连接的式子体现的是不同类型的表达式。
定义两个int类型的变量a,b,做加法(a +b)
• 常用运算符
算术运算符
赋值运算符
关系运算符
逻辑运算符
三元运算符
算数运算符的基本用法
算数运算符概述
A:什么是运算符
就是对常量和变量进行操作的符号。
B:算数运算符有哪些
*+,-,*,/,%,++,--
代码案例三
package com.admin_01;
/*
* 运算符:对常量和变量进行操作的符号
* 表达式:用运算符连接起来的符合java语法的式子。不同类型的运算符连接起来的式子是不同的表达式。
* 举例:定义两个int类型的变量a,b,
* a+ b
*
* 运算符分类:
* 算术运算符,赋值运算符,关系运算符,逻辑运算符,三元运算符。
*
* 算术运算符:
* +,-,*,/的基本使用
*/
public class OperatorDemo {
public staticvoid main(String[] args) {
// 定义两个变量
int a = 3;
int b = 4;
System.out.println(a+b);
System.out.println(a-b);
System.out.println(a*b);
System.out.println(a/b);
// 整数相除只能得到整数,要想得到小数,就必须有浮点数参与运算
System.out.println(3 / 4.0);
System.out.println(3.0 / 4);
}
}
算数运算符取余和除法的区别
%:取余运算符。得到的是两个相除数据的余数。
/:除法运算符。得到是两个相除数据的商。
使用场景: %:判断两个数据是否整除。
代码案例四
public class OperatorDemo2 {
public staticvoid main(String[] args) {
int a = 5;
int b = 3;
System.out.println(a/b);
System.out.println(a%b);
}
}
字符和字符串参与加法操作
字符参与运算
其实是拿该字符对应的数值来操作
‘a’ 97
‘A’ 65
‘0’ 48
字符串参与运算
这里其实做的不是加法运算,而是字符串拼接。
字符串和其他类型的数据做拼接,结果是字符串类型的。
代码案例五
package com.admin_01;
/*
* 整数的加法。
* 字符参与加法操作。拿字符在计算机中底层存储对应的数据值来参与运算的。
* '0' 48
* 'a' 97
* 'A' 65
* 字符串参与加法操作。
* 这里的+其实不是加法,而是字符串连接符。
*/
public class OperatorDemo3 {
public staticvoid main(String[] args) {
// 整数加法
int a = 10;
int b = 20;
System.out.println(a+b);
System.out.println("------------------");
// 字符参与加法操作
char c = '0';
char c2 = 'a';
System.out.println(a +c);
System.out.println(a+c2);
System.out.println("------------------");
// 字符串参与加法操作
System.out.println("hello"+a);
System.out.println("hello"+a + b);// "hello"+10,然后再和b进行拼接
System.out.println(a+b + "hello");
}
}
算数运算符++和- - 的用法
++,--运算符:对变量做加1或者减1的操作。
++或者--既可以放在变量的后面,也可以放在变量的前面。
单独使用的时候,++或者--无论是放在变量的前面还是后面,结果是一样的。
参与操作的时候:
如果++或者--在变量的后面,先拿变量参与操作,后变量做++或者--
如果++或者--在变量的前面,先变量做++或者--,后拿变量参与操作
代码案例六
public class OperatorDemo4 {
public staticvoid main(String[] args) {
int a = 10;
System.out.println("a:"+a);
// 单独使用
// a++;
// ++a;
// System.out.println("a:" + a);
// 参与操作使用
// int b = a++;
int b = ++a;
System.out.println("a:"+a);
System.out.println("b:"+b);
}
}
赋值运算符
赋值运算符分类
基本的赋值运算符:=
扩展的赋值运算符:+=,-=,*=,/=,%=
+=: a+=20;相当于a = (a的数据类型)(a + 20);
代码案例七
package com.admin_02;
/*
* 赋值运算符:
* A:基本 =
* B:扩展 +=,-=,*=,...
*
* +=:
* a+=20;
* 相当于
* a= (a的数据类型)(a + 20);
*/
public class OperatorDemo {
public staticvoid main(String[] args) {
// 把10赋值给int类型的变量a
int a = 10;
// += 把左边和右边的数据进行运算,最后赋值给左边。左边的只能是变量
a += 10;//相当于a= a + 10
System.out.println("a:"+a);
System.out.println("----------------------");
short s =10;
// s += 20; // 相当于 s = s + 20;
s = (short)(s + 20);
System.out.println("s:"+s);
}
}
关系运算符
基本使用及注意事项
关系运算符包含以下内容:
==,!=,>,>=,<,<=
关系运算符的结果都是boolean型,也就是要么是true,要么是false。
注意事项:
关系运算符“==”不能误写成“=”。
代码案例八
package com.admin_03;
/*
* 关系运算符:
* ==,!=,>,>=,<,<=
* 关系运算符的结果是boolean类型。
*
* 注意:
* 千万不要把==写成=
*/
public class OperatorDemo {
public staticvoid main(String[] args) {
int a = 10;
int b = 20;
int c = 10;
System.out.println(a==b);
System.out.println(a==c);
System.out.println("-----------------");
System.out.println(a!=b);
System.out.println(a!=c);
System.out.println("-----------------");
System.out.println(a>b);
System.out.println(a>c);
System.out.println("-----------------");
System.out.println(a>=b);
System.out.println(a>=c);
System.out.println("-----------------");
int x = 3;
int y = 4;
// System.out.println(x == y);
// System.out.println(x = y);// 把y赋值给x,把x的值输出
boolean bb= (x == y);
// 报错
// boolean cc = (x = y);
int cc = (x = y);
}
}
逻辑运算符
逻辑运算符概述
A:逻辑运算符有哪些
&,|,^,!
&&,||
B:案例演示
逻辑运算符的基本用法
C:注意事项:
a:逻辑运算符一般用于连接boolean类型的表达式或者值。
b:表达式:就是用运算符把常量或者变量连接起来的符合java语法的式子。
算术表达式:a + b
比较表达式:a == b(条件表达式)
D:结论:
&逻辑与:有false则false。
|逻辑或:有true则true。
^逻辑异或:相同为false,不同为true。
!逻辑非:非false则true,非true则false。
特点:偶数个不改变本身。
代码案例九
package com.admin_04;
/*
* 逻辑运算符:用于连接关系表达式。
* &,|,^,!
* &&,||
*
* 与:&有false则false
* 或:|有true则true
* 异或:^相同则false,不同则true。(男女朋友)
* 非:! true则false,false则true
*/
public class OperatorDemo {
public staticvoid main(String[] args) {
int a = 10;
int b = 20;
int c = 30;
System.out.println((a>b) & (a> c));//false & false
System.out.println((a<b) & (a> c)); //true & false
System.out.println((a>b) & (a< c)); //false & true
System.out.println((a<b) & (a< c)); //true & true
System.out.println("---------------");
System.out.println((a>b) | (a> c));//false | false
System.out.println((a<b) | (a> c)); //true | false
System.out.println((a>b) | (a< c)); //false | true
System.out.println((a<b) | (a< c)); //true | true
System.out.println("---------------");
System.out.println((a>b) ^ (a> c));//false ^ false
System.out.println((a<b) ^ (a> c)); //true ^ false
System.out.println((a>b) ^ (a< c)); //false ^ true
System.out.println((a<b) ^ (a< c)); //true ^ true
System.out.println("---------------");
System.out.println((a>b)); //false
System.out.println(!(a>b)); //!false
System.out.println(!!(a>b)); //!!false
}
}
逻辑运算符&&与&的区别
A:&&和&的区别?
a:最终结果一样。
b:&&具有短路效果。左边是false,右边不执行。
&是无论左边是false还是true,右边都会执行
B:||和|的区别?
a:最终结果一样
b:||具有短路效果.左边是true,右边不执行
|是无论左边是false还是true,右边都会执行
代码案例十:
package com.admin_04;
/*
* &&和&的结果一样
* ||和|的结果一样
*
* &&和&的区别:
* &&如果左边是false,右边不执行。
* &无论左边是true还是false,右边都会执行。
*/
public class OperatorDemo2 {
public staticvoid main(String[] args) {
int a = 10;
int b = 20;
int c = 30;
System.out.println((a>b) && (a> c));//false && false
System.out.println((a<b) && (a> c)); //true && false
System.out.println((a>b) && (a< c)); //false && true
System.out.println((a<b) && (a< c)); //true && true
System.out.println("---------------");
System.out.println((a>b) || (a> c));//false || false
System.out.println((a<b) || (a> c)); //true || false
System.out.println((a>b) || (a< c)); //false || true
System.out.println((a<b) || (a< c)); //true || true
System.out.println("---------------");
int x = 3;
int y = 4;
// System.out.println((x++ > 4) & (y++ > 5));// false & false
System.out.println((x++> 4) && (y++ > 5));// false && false
System.out.println("x:"+x);
System.out.println("y:"+y);
}
}
三元运算符
三元运算符概述
A:格式
(关系表达式)?表达式1:表达式2;
如果条件为true,运算后的结果是表达式1;
如果条件为false,运算后的结果是表达式2;
B:示例:
获取两个数中大数。
int x=3,y=4,z;
z = (x>y)?x:y;//z变量存储的就是两个数的大数
代码案例十一
package com.admin_05;
/*
* 三元运算符:
*
* 格式:
* (关系表达式)?表达式1:表达式2;
* 执行流程:
* A:计算关系表达式的值,看是true还是false
* B:如果是true,表达式1就是运算结果
* 如果是false,表达式2就是运算结果
*/
public class OperatorDemo {
public staticvoid main(String[] args) {
int a = 10;
int b = 20;
int c = (a > b) ?a : b;
System.out.println("c:"+c);
}
}
代码案例十二(比较两个数是否相同)
package com.admin_05;
/*
* 三元运算符的练习
* 比较两个整数是否相同
*/
public class OperatorTest {
public staticvoid main(String[] args) {
// 定义两个int类型的变量
int a = 10;
int b = 20;
boolean flag= (a== b) ? true: false;
// boolean flag = (a == b);
System.out.println(flag);
}
}
代码案例十三(获取三个数中的最大值)
package com.admin_05;
/*
* 获取三个整数中的最大值
*/
public class OperatorTest2 {
public staticvoid main(String[] args) {
// 定义三个int类型的变量
int a = 10;
int b = 30;
int c = 20;
// 先比较两个整数的大值
int temp =((a > b)? a : b);
int max =((temp > c)? temp : c);
System.out.println("max:"+max);
}
}
键盘录入
键盘录入的基本步骤
键盘录入数据概述
我们目前在写程序的时候,数据值都是固定的,但是实际开发中,数据值肯定是变化的,所以,把数据改进为键盘录入,提高程序的灵活性。
键盘录入数据的步骤:
A:导包(位置放到class定义的上面)
importjava.util.Scanner;
B:创建对象
Scannersc = new Scanner(System.in);
C:接收数据
intx = sc.nextInt();
代码案例十四
package com.admin;
import java.util.Scanner;
/*
* 为了提高程序的灵活性,我们就把数据改进为键盘录入。
* 如何实现键盘录入呢?目前我们只能使用JDK提供的类Scanner。
* 这个使用的步骤,目前大家记住就可以了。
*
* 使用步骤:
* A:导包
* importjava.util.Scanner;
* 类中的顺序:package> import > class
* B:创建对象
* Scannersc = new Scanner(System.in);
* C:接收数据
* inti = sc.nextInt();
*/
public class ScannerDemo {
public staticvoid main(String[] args) {
//创建键盘录入数据的对象
Scannersc = newScanner(System.in);
//接收数据
System.out.println("请录入一个整数:");
int i = sc.nextInt();
//输出数据
System.out.println("i:"+i);
}
}
键盘录入的练习
键盘录入两个数据并求和
键盘录入两个数据,并对这两个数据求和,输出其结果
键盘录入:
A:导包
B:创建对象
C:接收数据
2.2.2 代码案例十五
package com.admin;
import java.util.Scanner;
public class ScannerTest {
public staticvoid main(String[] args) {
// 创建对象
Scannersc = newScanner(System.in);
// 接收数据
System.out.println("请输入第一个数据:");
int a = sc.nextInt();
System.out.println("请输入第二个数据:");
int b = sc.nextInt();
// 对数据进行求和
int sum = a + b;
System.out.println("sum:"+sum);
}
}
键盘录入两个数据比较是否相等
键盘录入两个数据,比较这两个数据是否相等
代码案例十六
package com.admin;
import java.util.Scanner;
/*
* 键盘录入两个数据,比较这两个数据是否相等
*/
public class ScannerTest2 {
public staticvoid main(String[] args) {
// 创建对象
Scannersc = newScanner(System.in);
// 接收数据
System.out.println("请输入第一个数据:");
int a = sc.nextInt();
System.out.println("请输入第二个数据:");
int b = sc.nextInt();
// 比较两个数据是否相等
// boolean flag = ((a == b) ? true : false);
boolean flag= (a == b);
System.out.println("flag:"+flag);
}
}
键盘录入三个数据获取最大值
键盘录入三个数据,获取这三个数据中的最大值
代码案例十七
package com.admin;
import java.util.Scanner;
/*
* 键盘录入三个数据,获取这三个数据中的最大值
*/
public class ScannerTest3 {
public staticvoid main(String[] args) {
// 创建对象
Scannersc = newScanner(System.in);
// 接收数据
System.out.println("请输入第一个数据:");
int a = sc.nextInt();
System.out.println("请输入第二个数据:");
int b = sc.nextInt();
System.out.println("请输入第三个数据:");
int c = sc.nextInt();
// 如何获取三个数据的最大值
//int temp =(a > b? a : b);
//int max = (temp > c ? temp : c);
int max = a>b?(a>c?a:c):(b>c?b:c)
System.out.println("max:"+max);
}
}
- Java运算赋值运算符
- Java| Java 运算符
- Java位运算符
- java运算符
- java中的“%”运算符
- Java 位运算符
- Java 位运算符
- Java 位运算符
- Java 位运算符
- java 运算符优先级
- Java 位运算符
- java 运算符
- JAVA入门:运算符
- JAVA 运算符 >> >>> <<
- JAVA移位运算符
- Java 位运算符
- JAVA移位运算符
- java 运算符
- eclipse新建工作空间(workspace)初试设置
- 仿Win8的磁贴效果
- 使用ViewFlipper实竖直方向上的轮播(任意view)
- iOS CoreData数据迁移-默认迁移方式
- 串口通信的基本知识
- JAVA运算符
- 【QT】更改默认路径
- 长度为n的数组,有一个数m重复出现了n/2+1次,找出这个数
- Linux下的串口调试助手minicom的使用
- PHP 简介
- SVM的函数距离和几何距离
- C++ reinterpret_cast,const_cast等 显式类型转换总结
- 数组顺时针选择90度
- Linux下的IPC-UNIX Domain Socket