Java基础知识3

来源:互联网 发布:环信 服务端开发 java 编辑:程序博客网 时间:2024/06/05 20:37

运算符

算数运算符
• 运算符
对常量和变量进行操作的符号称为运算符
• 表达式
用运算符把常量或者变量连接起来符号java语法的式子就可以称为表达式。不同运算符连接的式子体现的是不同类型的表达式。
定义两个int类型的变量a,b,做加法(a + b)
• 常用运算符
算术运算符
赋值运算符
关系运算符
逻辑运算符
三元运算符
算数运算符的基本用法
A:什么是运算符
就是对常量和变量进行操作的符号。
B:算数运算符有哪些
* +,-,*,/,%,++,–

public class OperatorDemo {    public static void 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 static void 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
字符串参与运算
这里其实做的不是加法运算,而是字符串拼接。
字符串和其他类型的数据做拼接,结果是字符串类型的。

public class OperatorDemo3 {    public static void 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 static void 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);    }}

赋值运算符

赋值运算符分类

public class OperatorDemo {    public static void 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。
注意事项:
关系运算符“==”不能误写成“=”。

public class OperatorDemo {    public static void 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。
特点:偶数个不改变本身。

public class OperatorDemo {    public static void 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,右边都会执行

public class OperatorDemo2 {    public static void 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变量存储的就是两个数的大数

public class OperatorDemo {    public static void main(String[] args) {        int a = 10;        int b = 20;        int c = (a > b) ? a : b;        System.out.println("c:" + c);    }}

比较两个数是否相同

public class OperatorTest {    public static void main(String[] args) {        // 定义两个int类型的变量        int a = 10;        int b = 20;        boolean flag = (a == b) ? true : false;        // boolean flag = (a == b);        System.out.println(flag);    }}

获取三个数中的最大值

public class OperatorTest2 {    public static void 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定义的上面)
import java.util.Scanner;
B:创建对象
Scanner sc = new Scanner(System.in);
C:接收数据
int x = sc.nextInt();

键盘录入两个数据并求和

import java.util.Scanner;public class ScannerTest {    public static void main(String[] args) {        // 创建对象        Scanner sc = new Scanner(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);    }}

键盘录入两个数据比较是否相等

import java.util.Scanner;public class ScannerTest2 {    public static void main(String[] args) {        // 创建对象        Scanner sc = new Scanner(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.itheima;import java.util.Scanner;public class ScannerTest3 {    public static void main(String[] args) {        // 创建对象        Scanner sc = new Scanner(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);        System.out.println("max:" + max);    }}
原创粉丝点击