Java300集day02——数据类型和运算符

知识点:

1.1注释:

代码块最上面是文档注释

/**
 * Welcome类(我是文档注释)
 * @author 郭川川
 * @version 1.0
 */
public class Welcome {
    //我是单行注释
    public static void main(String[] args/*我是行内注释 */) {
        System.out.println("Hello World!");
    }
    /*
       我是多行注释!
       我是多行注释!
     */
}

1.2标识符:

  • 标识符必须以字母、下划线_、美元符号$开头。  

  • 标识符其它部分可以是字母、下划线“_”、美元符“$”和数字的任意组合。

  • Java 标识符大小写敏感,且长度无限制。

  • 标识符不可以是Java的关键字。

  • 标识符可以是汉字,但是不建议使用

1.3标识符使用规范:

类名:每个单词的首字母大写

方法和变量:第一个单词小写,第二个单词开始首字母大写

1.4变量的声明

格式为:

1

2

3

type  varName [=value][,varName[=value]...]; 

//[]中的内容为可选项,即可有可无

数据类型  变量名  [=初始值] [,变量名  [=初始值]…];

【示例2-4】 声明变量:

1

2

3

double  salary;

long  earthPopulation;

int  age;

 1.5变量的分类:

2-2局部变量、成员变量、静态变量的区别

类型

声明位置

从属于

生命周期

局部变量

方法或语句块内部

方法/语句块

从声明位置开始,直到方法或语句块执行完毕,局部变量消失

成员变量

(实例变量)

类内部,方法外部

对象

对象创建,成员变量也跟着创建。对象消失,成员变量也跟着消失;

静态变量

(类变量)

类内部,static修饰

类被加载,静态变量就有效;类被卸载,静态变量消失。

1.6常量:在Java语言中,主要是利用关键字final来定义一个常量。 常量一旦被初始化后不能再更改其值。

例如:final PI = 3.14;

1.7基本数据类型:

1.8整型数据 

表2-4整型数据类型

类型

占用存储空间

表数范围

byte

1字节

-27 ~   27-1(-128~127)

short

2字节

-215 ~   215-1(-32768~32767)

int

4字节

-231 ~   231-1 (-2147483648~2147483647)约21亿

long

8字节

-263 ~   263-1

 1.9整形常量四种表示形式:十进制、八进制(0开头)、十六进制(0x开头)、二进制(0b开头)

1.10注意:Java语言的整型常数默认为int型,声明long型常量可以后加‘ l ’或‘ L ’ 。

1.11浮点型数据:

  带小数的数据在Java中称为浮点型。浮点型可分为float类型和double类型。

2-5浮点型数据类型

类型

占用存储空间

表数范围

float

4字节

-3.403E38~3.403E38

double

8字节

-1.798E308~1.798E308

1.12浮点型常量两种表示形式:十进制(3.14)、科学计数法(314e-2)

1.13float类型赋值时需要添加后缀F/f

1.14 java.math包下面的两个有用的类:BigInteger和BigDecimal,这两个类可以处理任意长度的数值。BigInteger实现了任意精度的整数运算。BigDecimal实现了任意精度的浮点运算。

【示例2-15】使用BigDecimal进行浮点数的比较

1

2

3

4

5

6

7

8

9

10

11

12

13

import java.math.BigDecimal;

public class Main {

    public static void main(String[] args) {

        BigDecimal bd = BigDecimal.valueOf(1.0);

        bd = bd.subtract(BigDecimal.valueOf(0.1));

        bd = bd.subtract(BigDecimal.valueOf(0.1));

        bd = bd.subtract(BigDecimal.valueOf(0.1));

        bd = bd.subtract(BigDecimal.valueOf(0.1));

        bd = bd.subtract(BigDecimal.valueOf(0.1));

        System.out.println(bd);//0.5

        System.out.println(1.0 - 0.1 - 0.1 - 0.1 - 0.1 - 0.1);//0.5000000000000001

    }

}

1.15字符型变量:字符型在内存中占2个字节,在Java中使用单引号来表示字符常量。例如’A’是一个字符,它与”A”是不同的,”A”表示含有一个字符的字符串。

2-6转义字符

转义符

含义

Unicode

\b

退格(backspace)

\u0008

\n

换行

\u000a

\r

回车

\u000d

\t

制表符(tab)

\u0009

\“

双引号

\u0022

\‘

单引号

\u0027

\\

反斜杠

\u005c

以后我们学的String类,其实是字符序列(char sequence)。

课堂代码

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

/**

 * 测试字符类型

 * @author 高淇

 *

 */

public class TestPrimitiveDataType3 {

    public static void main(String[] args) {

        char  a = 'T';

        char  b = '尚';

        char c = '\u0061';

        System.out.println(c);

         

        //转义字符

        System.out.println(""+'a'+'\n'+'b'); 

        System.out.println(""+'a'+'\t'+'b'); 

        System.out.println(""+'a'+'\''+'b');        //a'b 

         

         

        //String就是字符序列

        String  d = "abc";

         

    }

}

1.16 boolean类型有两个常量值,true和false,在内存中占一位(不是一个字节),不可以使用 0 或非 0 的整数替代 true 和 false ,这点和C语言不同。 boolean 类型用来判断逻辑条件,一般用于程序流程控制 。 

二元运算符的运算规则:

  整数运算:

  1. 如果两个操作数有一个为Long, 则结果也为long。

  2. 没有long时,结果为int。即使操作数全为short,byte,结果也是int。

  浮点运算:

  3. 如果两个操作数有一个为double,则结果为double。

  4. 只有两个操作数都是float,则结果才为float。

  取模运算:

  1.其操作数可以为浮点数,一般使用整数,结果是“余数”,“余数”符号和左边操作数相同,如:7%3=1,-7%3=-1,7%-3=1。

  算术运算符中++,--属于一元运算符,该类运算符只需要一个操作数。

左移运算和右移运算

1

2

3

4

int a = 3*2*2;

int b = 3<<2//相当于:3*2*2;

int c = 12/2/2;

int d = 12>>2//相当于12/2/2;

三目条件运算符实例

1

2

3

4

5

6

        int score = 80

        int x = -100;

        String type =score<60?"不及格":"及格"

        int flag = x > 0 1 : (x == 0 0 : -1);

        System.out.println("type= " + type);

        System.out.println("flag= "+ flag);

自动类型转换: 

 自动类型转换指的是容量小的数据类型可以自动转换为容量大的数据类型。如图2-6所示,黑色的实线表示无数据丢失的自动类型转换,而虚线表示在转换时可能会有精度的损失。

 可以将整型常量直接赋值给byte、 short、 char等类型变量,而不需要进行强制类型转换,只要不超出其表数范围即可。

示例2-26】自动类型转换特例

1

2

short  b = 12;  //合法

short  b = 1234567;//非法,1234567超出了short的表数范围

强制类型转换,又被称为造型,用于显式的转换一个数值的类型。在有可能丢失信息的情况下进行的转换是通过造型来完成的,但可能造成精度降低或溢出。

强制类型转换语法格式:

1

(type)var

运算符“()”中的type表示将值var想要转换成的目标数据类型。

【示例2-27】强制类型转换

1

2

3

4

5

6

7

double x  = 3.14

int nx = (int)x;   //值为3

char c = 'a';

int d = c+1;

System.out.println(nx);

System.out.println(d);

System.out.println((char)d);

  • 操作比较大的数时,要留意是否溢出,尤其是整数操作时。

【示例2-29】常见问题一

1

2

3

4

5

6

7

8

9

10

11

int money = 1000000000//10亿

int years = 20;

//返回的total是负数,超过了int的范围

int total = money*years;

System.out.println("total="+total);

//返回的total仍然是负数。默认是int,因此结果会转成int值,再转成long。但是已经发生//了数据丢失

long total1 = money*years; 

System.out.println("total1="+total1);

//返回的total2正确:先将一个因子变成long,整个表达式发生提升。全部用long来计算。

long total2 = money*((long)years); 

System.out.println("total2="+total2);

示例2-31】使用Scanner获取键盘输入

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

import  java.util.Scanner;

/**

 * 测试获得键盘输入

 * @author 高淇

 *

 */

public class TestScanner {

    public static void main(String[] args) {

        Scanner   scanner =  new Scanner(System.in);

        System.out.println("请输入名字:");

        String   name =  scanner.nextLine();

        System.out.println("请输入你的爱好:");

        String  favor = scanner.nextLine();

        System.out.println("请输入你的年龄:");

        int   age = scanner.nextInt();

         

        System.out.println("###############");

        System.out.println(name);

        System.out.println(favor);

        System.out.println("来到地球的天数:"+age*365);

        System.out.println("离开地球的天数:"+(72-age)*365);

         

    }

}

总结----------------------------

1.注释可以提高程序的可读性。可划分为

2.单行注释  //

3.多行注释  /*...*/

4.文档注释  /**...*/

5.标识符的命名规则:

6.标识符必须以字母、下划线_、美元符号$开头。  

7.标识符其它部分可以是字母、下划线“_”、美元符“$”和数字的任意组合。

8.Java 标识符大小写敏感,且长度无限制。

9.标识符不可以是Java的关键字。

10.标识符的命名规范

11.表示类名的标识符:每个单词的首字母大写,如Man, GoodMan

12.表示方法和变量的标识符:第一个单词小写,从第二个单词开始首字母大写,我们称之为“驼峰原则”,如eat(), eatFood()

13.变量的声明格式:

type  varName  [=value] [,varName[=value]...];

14.变量的分类:局部变量、实例变量、静态变量

15.常量的声名格式

final  type  varName = value ;

16.Java的数据类型可分为基本数据类型和引用数据类,基本数据类型的分类如下:

17.整型变量:byte、short、int、long

18.浮点型:float、double

19.字符型:char

20.布尔型:boolean,值为true或者false

21.Java语言支持的运算符可分为:

22.算术运算符:  +,-,*,/,%,++,--

23.赋值运算符 = 

24.扩展赋值运算符:+=,-=,*=,/= 

25.关系运算符:  >,<,>=,<=,==,!= ,instanceof

26.逻辑运算符:  &&,||,!

27.位运算符:  &,|,^,~ , >>,<<,>>> 

28.字符串连接符:+

29.条件运算符 ?: 

30.基本数据类型的类型转换可分为:

31.自动类型转换:容量小的数据类型可以自动转换为容量大的数据类型

32.强制类型转换:用于显式的转换一个数值的类型,语法格式:(type)var

33.键盘的输入:Scanner类的使用

一、选择题

1.以下选项中属于合法的Java标识符的是(    )。(选择二项)

A.public

B.3num

C.name

D._age

2.下面的代码段中,执行之后i和j的值是(    )。(选择一项)

int i=1;   int j;

j=i++;

A1,1

B.1,2

C.2,1

D.2,2

3.下面的赋值语句中错误的是(    )。(选择一项)

Afloat f = 11.1;    

B.double d = 5.3E12;

C.double d = 3.14159;

D.double d = 3.14D;

4.在Java中,下面(    )语句能正确通过编译。(选择二项)

ASystem.out.println(1+1);

B.char i =2+'2';

System.out.println(i);

C.String s="on"+'one';

D.int b=255.0;

5.以下Java运算符中优先级别最低的两个选项是(    )。(选择二项)

A赋值运算符=

B.条件运算符 ?=

C.逻辑运算符|

D.算术运算符+

二、简答题

1.Java是一种强类型语言,说明Java的数据类型分类。

2.i++和++i的异同之处

3.运算符||和|的异同之处

4.Java中基本数据类型转换的规则

三、编码题

1.输入圆形半径,求圆形的周长和圆形的面积,并将结果输出。

       

2.银行利率表如下表所示,请计算存款10000元,活期1年、活期2年,定期1年,定期2年后的本息合计。

    

3.某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。结果如图所示。

    答案:https://blog.csdn.net/qq1445654576/article/details/82721699 

发布了39 篇原创文章 · 获赞 8 · 访问量 1742

猜你喜欢

转载自blog.csdn.net/qq_42753878/article/details/96896622
今日推荐