JavaSE-第2章 Java语法基础

1.标识符

  • 标识符:按一定规则定义、命名的符号名称

 

  • 标识符命名规则:

(1)只能使用字母(含汉字)、数字、下划线、货币符号(如$或¥)。
(2)必须以字母、下划线或货币符号开头

  • 例如:x、y、i、j、k、str、_age、calculateArea、Who、stu1、stu2、$、数1、变量2、计算面积
  • 两种标识符:

(1)预定义保留的关键字
(2)用户标识符

  • 用途:对程序各个组成元素如变量、方法、类等命名。

 

2.Java关键字

3.变量

  • 声明变量格式: 数据类型 变量名;
  • 如: double x; x = 12.3; x = 5.6;
  • int a=2, b, c=5;
  • 变量要“先定义,后使用”。
  • 方法内部的局部变量,要先赋值,再读取
  • 变量属于标识符。建议:

  (1)以小写字母开头,一般不用下划线和货币符。
  (2)骆驼式命名法

4.Java数据类型

 

 

5.字符串及其与数值的转换 

  • 字符串类型,用String表示,是类(class),不是基本类型。

  如: "abcd" 、 "123" 、"张三"
  长度(有效字符个数)分别是4、3和2。

  • 声明字符串变量str并赋值:

  String str = "abcd";

  • 字符串长度str.length()为4。空串""的长度为0
  • 字符串转换为int型和double型例子:

  int i = Integer.parseInt("168");
  double d = Double.parseDouble("3.14");

  • 反之,把数值转换为字符串,方法是String.valueOf( )。如:

  String s = String.valueOf(28.9);

 

 1 /**
 2  * @Time:2022/4/8 10:13
 3  * @Author:Henry Scofield
 4  * @File:Ex1.java
 5  * @Software:IntelliJ IDEA
 6  */
 7 // 编程,把字符串转成数值后相加,最后输出结果
 8 public class Ex1 {
 9     public static void main(String[] args) {
10         String s1 = "12.3",s2 = "4";
11         double d1,d2,d3;
12         d1 = Double.parseDouble(s1); // 字符串转Double
13         d2 = Double.parseDouble(s2);
14         d3 = d1 + d2;
15         System.out.println(String.valueOf(d3)); // d3 Double型转回字符串
16     }
17 }
Ex1

 

 

 

6.类型转换

7.转义符

  • \n 表示换行符,反斜杠开头的字符叫转义符。
  • 转义符常用的还有 \r(回车符)、\t(制表符)
  • 字符串可以包含转义符,例如:

  String str = "abcd\n123";
  System.out.println(str);

  • 要输出反斜杠本身,则要使用两个反斜杠\\。例如:

  System.out.println("D:\\JavaProg");

  • 输出结果:D:\JavaProg

8.运算符

(1)运算符优先级

 

  • 优先级:不同种类的运算符具有不同的执行次序(等级)。
  • 如:先乘除、后加减。
  • 可采用圆括号来改变运算符的执行次序。如:

  a = (b + c) * d

  • 同等优先级的运算符通过结合性控制运算顺序。例:

  4 / 2 * 6

  • 运算符结合性:从左到右为左结合, 从右到左为右结合
  • 算术、关系等二元运算符是左结合的,
  • 一元、三目条件和赋值运算符则是右结合的,如:

  int a, b, c, d;
  a = b = c = d = 18; //相当a = (b = (c = (d = 18)));

 

 

 

 (2)常用的运算符

  ①算术运算符

  • 二元算术运算符有5个:加、减、乘、除、求余:+ - * / %
  • 两个整数相除是整除,结果只取整数(并非四舍五入)。

  如:5 / 2,的值为2

  • 求余也叫取余、取模,其运算符是%。例:

  int a = 5 % 2; //a值:1
  double x = 5 % 1.8; //x值:1.4

  • double和float型数据,除法运算允许除数为零,结果无穷大Infinity。
  • 零(如0.0)除以零也不出错,但结果为NaN(非数字)。

   ②字符串连接运算符 +

  • 当含有字符串操作数时,运算符+成为字符串连接符。
  • 串接表达式的值是字符串。例如:

  System.out.println(12 + "34");
  System.out.println("12" + 34);
  System.out.println("12" + "34");

  • 结果都是"1234"。
  • 又如:

  double x = 4.7, y = 2.4, sum = x + y;
  System.out.println(x + "+" + y + "=" + sum);

  • 输出结果为:4.7+2.4=7.1

  ③赋值运算符、赋值表达式及赋值语句

  

  • 赋值表达式语法: 变量 = 表达式
  • 赋值号=左边一定是变量,赋值号右边是表达式(含常量)。
  • 赋值表达式的值就是左边变量值。如:

  double d;
  System.out.println(d = 4.7 + 2.4); //值7.1

  • 在声明变量的同时,可赋初值给变量。语法:

  数据类型 变量 = 表达式;

  • 注意:赋值号=不能当成等号==。
  • 赋值语句:赋值表达式加上英文分号,如:

  i = 2;

  ④自增和自减运算符

  • 整型、浮点型等变量可进行自增、自减运算,即加1、减1操作。运算符++和--均是一元的,又分前、后自增,前、后自减。如:++x x++ --x x--
 1 /**
 2  * @Time:2022/4/8 10:34
 3  * @Author:Henry Scofield
 4  * @File:Ex2.java
 5  * @Software:IntelliJ IDEA
 6  */
 7 public class Ex2 {
 8     public static void main(String[] args) {
 9         int a = 2, b;
10         double x = 3.5, y;
11         ++a;                    //a=3
12         --x;                    //x=2.5
13         System.out.println(a);  //3
14         System.out.println(x);  //2.5
15         b = a--;                //b=3, a=2
16         y = x++;                //y=2.5, x=3.5
17         System.out.println(a);  //2
18         System.out.println(b);  //3
19         System.out.println(x);  //3.5
20         System.out.println(y);  //2.5
21 
22     }
23 }
Ex2

 

 

9.var类型判断

10.作业

1. 编写字符界面计算器程序,运行时提示输入两个操作数,然后输出加减乘除运行结果。

 1 import java.util.Scanner;
 2 
 3 /**
 4  * @Time:2022/4/8 10:39
 5  * @Author:Henry Scofield
 6  * @File:test1.java
 7  * @Software:IntelliJ IDEA
 8  */
 9 public class test1 {
10     public static void main(String[] args) {
11         System.out.println("==== 字符版计算器1 ====");
12         Scanner sc = new Scanner(System.in);
13         double x,y;
14         System.out.println("请输入第一个操作数:x=");
15         x = sc.nextDouble();
16 
17         System.out.println("请输入第一个操作数:y=");
18         y = sc.nextDouble();
19 
20         System.out.println("运算结果如下:");
21         System.out.println("x+y=" + (x + y));
22         System.out.println("x-y=" + (x - y));
23         System.out.println("x*y=" + (x * y));
24         System.out.println("x/y=" + (x / y));
25         sc.close();
26 
27 
28     }
29 }
第1题

 

 

2. 修改第1题程序,使得运算结果中能直接显示输入的数据,而不是x+y之类。

 1 import java.util.Scanner;
 2 
 3 /**
 4  * @Time:2022/4/8 10:47
 5  * @Author:Henry Scofield
 6  * @File:test2.java
 7  * @Software:IntelliJ IDEA
 8  */
 9 public class test2 {
10     public static void main(String[] args) {
11         System.out.println("==== 字符版计算器2 ====");
12         Scanner sc = new Scanner(System.in);
13         double x, y;
14         System.out.println("请输入第一个操作数:x=");
15         x = sc.nextDouble();
16 
17         System.out.println("请输入第一个操作数:y=");
18         y = sc.nextDouble();
19 
20         System.out.println("运算结果如下:");
21         System.out.println(x + "+" + y + "=" + (x + y));
22         System.out.println(x + "-" + y + "=" + (x - y));
23         System.out.println(x + "*" + y + "=" + (x * y));
24         System.out.println(x + "/" + y + "=" + (x / y));
25         sc.close();
26 
27 
28     }
29 }
第2题

 

posted on 2022-04-08 10:56  henry06007  阅读(107)  评论(0编辑  收藏  举报