Java基础知识_day02_(键盘录入,运算符)

来源:互联网 发布:c语言写网络爬虫 编辑:程序博客网 时间:2024/05/22 03:05

内容概要

  • 键盘录入
  • 运算符

1. 键盘录入

键盘录入步骤:

1.导包

import java.util.Scanner;

2.创建键盘录入对象

Scanner scanner = new Scanner(System.in);

3.定义变量接收键盘录入

int num = scanner.nextInt();

键盘录入案例:

public class Scanner_Somnus {     public static void main(String[] args) {           // 创建键盘录入对象           Scanner scanner = new Scanner(System.in);           // 设置键盘录入提示           System.out.println("请输入一个int整数:");           // 定义变量进行键盘录入值得接收           int num = scanner.nextInt();           // 输出键盘录入的结果值           System.out.println("键盘录入的数据是:" + num);     }}

2. 运算符

运算符:

用于连接变量和常量的符号.

表达式:

用运算符连接常量或者变量的符合Java语法的式子.不同的运算符连接的式子是不同的表达式.

运算符分类:

算术运算符
赋值运算符
关系运算符
逻辑运算符
三元运算符

算数运算符: +,-,*,/,%,++,–

/:
整数相除,结果是整数,当有浮点数参与运算时,结果是浮点型.
%:
A.左边的绝对值小于右边时,结果是左边;
B.左边的绝对值等于右边或者是右边的倍数时,结果是0;
C.左边的绝对值大于右边时,结果是余数;
D.%2的结果是1或者0,因此可以作为切换条件.
+:
三个作用:加法运算符、数值的正号、字符串的连接作用.
A:作为字符串连接作用时:
a:遵循运算的规则,表达式从左向右计算,只有字符串后的+是拼接,字符串前的是加法作用;
b:当有单个字符参与时,字符串前面的单个字符时参加加法运算,用的是字符的存储值(ASCII值);当字符串后面的单个字符参与时,使用的是字符本身进行字符串的拼接操作.
常用字符的ASCII码:’A’->65 ‘a’->97 ‘0’->48
++和–:
A:当单独使用时,符号在前面和后面的效果相同 .
B:参与运算时:(赋值运算符等)
a:符号在前面时,是先取变量的值进行运算,然后变量再自增/减
b:符号在后面时,是先进变量的自增/自减,然后再参与运算.
C:在流程控制语句和作为方法的参数及输出语句的参数时:
a:在for语句中时,和单独使用时的效果相同;
b:在while,do…while,switch,输出语句参数,和方法的参数时,和参与运算时效果相同.

赋值运算符:

基本赋值运算符:=
注意事项:
A:符号本身是整体,中间不能加空格隔开使用;
B:=+和+=符号是不同含义,前者的+代表的是正号的作用; C:除=外,其他符号赋值时,隐含类型强制转换.

关系运算符: ==,!=,<,<=,>,>=

注意事项:
A:关系运算符连接的表达式的结果是boolean类型;
B:符号本身是整体,中间不能加空格隔开.

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

开发中一般使用&&和||,其短路效果可以提高效率,一般用来连接关系表达式,结果是boolean类型.
&:
逻辑与:两边表达方式为true,结果为true,否则为false.
|:
逻辑或:两边表达式有一个为true,结果为true,否则为false.
^:
逻辑异或:两边表达式结果不同,结果为true,否则为false.
!:
逻辑非:单个!时,结果和表达式的结果相反,偶数个!符号时,表达式结果不变.
&&和&:
A:两者连接的整个表达式的结果相同;
B:&&具有短路效果,当左边为false时,无论右边的值是不是true,整个结果是false(右边的表达式不执行);
C:&没有短路效果,无论左边的结果如何,右边的表达式都会执行.
||和|:
A:两者连接的整个表达式的结果相同;
B:||具有短路效果,当左边为true时,无论右边的值是不是false,整个结果是true(右边的表达式不执行);
C:|没有短路效果,无论左边的结果如何,右边的表达式都会执行.

三元运算符:

格式:(关系表达式)?表达式1:表达式2; 表达式1和2可以使常量.
执行步骤:
A:先判断关系表达式的结果;
B:如果表达式的结果是true,整个表达式的结果是表达式1的值,否则是表达式2的值.
作用:一般用于比较大小.

运算符案例:

public class Operator_Somnus {     public static void main(String[] args) {           /*            * 算术运算符            */           int a = 3;           int b = 4;           System.out.println(a + b); // 7           System.out.println(a - b); // -1           System.out.println(a * b); // 12           // /除法           System.out.println(a / b); // 0           System.out.println(a / 4.0); // 0.75           // %取余(模运算)           // 当左边的绝对值大于右边时,结果是余数           System.out.println(4 % 3); // 1           System.out.println(-4 % 3); // -1           // 当左边的绝对值等于右边或者是右边的倍数时,结果是0           System.out.println(6 % 3); // 0           System.out.println(-6 % 3); // 0           // 当左边的绝对值小于右边时,结果是左边           System.out.println(3 % 4); // 3           System.out.println(-3 % 4); // -3           // 表达式的结果只和左边有关,和左边相同,与右边无关           System.out.println(-4 % -3); // -1           System.out.println(4 % -3); // 1           // +符号           // 加法运算           System.out.println(3 + 5); // 8           // 正号           System.out.println(+5); // 5           // 字符串连接           System.out.println("hello" + 23); // hello23           System.out.println(2 + 3 + "hello" + 3 + 2); // 5hello32           System.out.println(2 + 'A' + "hello" + 'A' + 2); // 67helloA2           // ++和--           // 单独使用时:           int x = 8;           int y = 9;           x++;           ++y;           System.out.println("x:" + x + "  y:" + y); // x:9 y:10           // 参与运算时:           int z = x++;           System.out.println("x:" + x + "z:" + z); // x:10 z:9           int w = ++x;           System.out.println("x:" + x + "w:" + w); // x:11 z:11           // 在while语句中时           int q = 3;           while ((++q) > 3) {                System.out.println(q); // 4                break;           }           // 在for语句中           for (int i = 1; i < 3; i++) {                System.out.println(i); // 1,2           }           // 在输出语句中           int r = 4;           System.out.println(r++); // 4           System.out.println(++r); // 6           /*            * 赋值运算符            */           int t = 3;           System.out.println(t = 8); // 8           System.out.println(t += 3); // 11           System.out.println(t -= 3); // 8           System.out.println(t /= 4); // 2           System.out.println(t %= 3); // 2           //强制类型转换           byte i = 4;           i += 4;    // 编译能通过,等价于 i = (byte)(i + 4)           System.out.println(i);     // 8           /*            * 关系运算符            */           System.out.println((3 == 4)); // false           System.out.println((3 != 4)); // true           System.out.println((3 > 4)); // false           System.out.println((3 >= 4)); // false           System.out.println((3 < 4)); // true           System.out.println((3 <= 4)); // true           /*            * 逻辑运算符            */           System.out.println((3 == 4) & (3 > 4)); // false           System.out.println((3 == 4) | (3 > 4)); // false           System.out.println((3 == 4) ^ (3 > 4)); // flase           System.out.println((3 < 4) ^ (3 > 4)); // true           System.out.println(!(3 == 4)); // true           // &&和&           int j = 4;           int n = 5;           System.out.println((j > n) && ((n++) > j)); // false           System.out.println("j:" + j + ",n:" + n); // j:4,n:5           System.out.println((j > n) & ((n++) > j)); // false           System.out.println("j:" + j + ",n:" + n); // j:4,n:6           /**            * 三元运算符            */           System.out.println((3 > 4) ? 3 : 4); // 4     }}
0 0