栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

数据类型与运算符

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

数据类型与运算符

目录

1变量和数据类型

1.1整型变量

1.1.1 字节型变量

1.1.2 短整形变量

1.1.3 整型变量

1.1.4 长整型变量

1.2浮点型变量

1.2.1 单精度变量

1.2.2双精度变量

1.3布尔类型变量

1.4 字符类型变量

1.5 字符串类型

1.6类型转换

1.6.1自动类型转换

1.6.2强制类型转换

1.7变量

1.8常量

1.9 Java中的命名规则

2 运算符

2.1算术运算符

2.2关系运算符

2.3逻辑运算符

2.4位运算符

2.5移位运算符

2.6条件运算符

3 注释

3.1 基本规则

3.2 注释规范

4 关键字


1变量和数据类型

1.1整型变量

1.1.1 字节型变量

       基本语句格式:

byte 变量名=初始值;

        代码示例:

byte value=0;

System,out.println(value);

注意事项:

1. 字节类型表示的也是整数. 只占一个字节, 表示范围较小 ( -128 -> +127 )

2. 字节类型和字符类型互不相干

1.1.2 短整形变量

基本语法格式:

short 变量名 = 初始值;

代码示例:

short value =129;

System.out.println(value);

注意事项:

1. short 占用 2 个字节, 表示的数据范围是 -32768 -> +32767

2. 这个表示范围比较小, 一般不推荐使用. 

1.1.3 整型变量

基本语法格式

int 变量名 = 初始值;

代码示例:

int num = 10; 

System.out.println(num) ;

注意事项:

1.一个 int 变量占 4 个字节,表示的数据范围是-2^31 -> 2^31-11 , 也就大概是 -21亿 到 +21亿

1.1.4 长整型变量

基本语法格式:

long 变量名 = 初始值;

代码示例:

long num = 10L; // 定义一个长整型变量, 初始值写作 10l 也可以(小写的 L, 不是数字1). System.out.println(num) ;

注意事项:

1. 基本语法格式和创建 int 变量基本一致, 只是把类型修改成 long

2. 初始化设定的值为 10L , 表示一个长整型的数字. 10l 也可以.

3. 使用 10 初始化也可以, 10 的类型是 int, 10L 的类型是 long, 使用 10 L 或者 10 l 更好一些. Java 中 long 类型占 8 个字节. 表示的数据范围 -2^63 -> 2^63-1

4.java的整型常量默认为 int 型,声明long型常量须后加‘l’或‘L’

5.java程序中变量通常声明为int型,除非不足以表示较大的数,才使用long

1.2浮点型变量

1.2.1 单精度变量

基本格式:

float 变量名 = 初始值;

代码示例:

float num = 1.0f;    // 写作 1.0F 也可以

System.out.println(num);

1.float 类型在 Java 中占四个字节, 尾数可以精确到7位有效数字, 同样遵守 IEEE 754 标准. 由于表示的数据精度范围较小, 一般在工程上用到浮点数都 优先考虑 double, 不太推荐使用。

2.Java 的浮点型常量默认为double型,声明float型常量,须后加‘f’或‘F’。

1.2.2双精度变量

基本语法格式

double 变量名 = 初始值;

代码示例:

double num = 1.0;

System.out.println(num)

1.Java 中的 double 虽然也是 8 个字节, 但是浮点数的内存布局和整数差别很大, 不能单纯的用 2 ^ n 的形式表示数据范 围.

2.Java 的 double 类型的内存布局遵守 IEEE 754 标准(和C语言一样), 尝试使用有限的内存空间表示可能无限的小数, 势 必会存在一定的精度误差.

int a = 1;

int b = 2;

System.out.println(a / b);

// 执行结果 0

在 Java 中, int 除以 int 的值仍然是 int(会直接舍弃小数部分). 如果想得到 0.5, 需要使用 double 类型计算.

double a = 1.0;

double b = 2.0;

System.out.println(a / b);

// 执行结果 0.5

1.3布尔类型变量

基本语法格式:

boolean 变量名 = 初始值;

代码示例:

boolean value = true;

System.out.println(value);

注意事项:

1. boolean 类型的变量只有两种取值, true 表示真, false 表示假.

2. Java 的 boolean 类型和 int 不能相互转换, 不存在 1 表示 true, 0 表示 false 这样的用法.

3boolean 类型用来判断逻辑条件,一般用于程序流程控制:

例如        if条件控制语句;

               while循环控制语句;

               do-while循环控制语句;

               for循环控制语句;

1.4 字符类型变量

基本格式:

char 变量名 = 初始值;

代码示例:

char ch = 'A';

注意事项:

1. Java 中使用 单引号 + 单个字母 的形式表示字符字面值.

2. 计算机中的字符本质上是一个整数. 在 C 语言中使用 ASCII 表示字符, 而 Java 中使用 Unicode 表示字符. 因此一 个字符占用两个字节, 表示的字符种类更多, 包括中文.

1.5 字符串类型

把一些字符放到一起就构成了字符串

基本语法格式:

String 变量名 = "初始值";

代码示例:

String name = "zhangsan";

System.out.println(name);

注意事项:

1. Java 使用 双引号 + 若干字符 的方式表示字符串字面值.

2. 和上面的类型不同, String 不是基本类型, 而是引用类型(后面重点解释).

3. 字符串中的一些特定的不太方便直接表示的字符需要进行转义.

4.当把任何基本数据类型的值和字符串(String)进行连接运算时(+),基本数据类 型的值将自动转化为字符串(String)类型。

1.6类型转换

Java 作为一个强类型编程语言, 当不同类型之间的变量相互赋值的时候, 会有教严格的校验

1.6.1自动类型转换

容量小的类型自动转换为容量大的数据类型。数据类型按容 量大小排序为

byte、short、chat-->int-->long-->float-->double

当byte、char、short三种类型的变量做运算时,结果为int型

涉及到的基本数据类型:除了boolean之外的其他7种

举例说明:

short a=3;

int b=a;//自动类型转换,short类型的a自动转换为int类型

错误示范:

short a=1;

byte b=a;//不被允许的,会报错

就相当于100ml的水可以倒进500ml容量的容器中,但是100ml的水无法全部倒进50ml的容器中。

1.6.2强制类型转换

将容量大的数据类型转换为容量小的数据类型。使用时要加上强制转换符:()

举例说明:

short a=1;

byte b=(byte)a;//a被强制转换为byte类型

100ml的水可以倒进50ml的容器中,但是只能到进一部分,而另一部分无法在倒入,会有损失,同样容量大的类型被强制转换为容量小的类型,可能造成精度降低或溢出,使用时需要格外注意。

在所有的类型转换过程中,唯一没有参与的就是布尔类型,因为布尔类型只有true和false两种类型,其他类型和他“格格不入”。

 byte和short类型的数运算的时候,需要用int类型的变量接收

byte a=12;

short b=11;

int c=a+b;

short d=a+b;//会报错

short e=(short)a+(short)b;//强制类型转换

1.7变量

概念:变量是程序中最基本的存储单元。

 变量的作用域:其定义所在的一对{ }内

变量的命名规则:

1. 一个变量名只能包含数字, 字母, 下划线

2. 数字不能开头.

3. 变量名是大小写敏感的. 即 num 和 Num 是两个不同的变量.

变量的分类

在方法体外,类体内声明的变量称为成员变量。

在方法体内部声明的变量称为局部变量。

1.8常量

上面讨论的都是各种规则的变量, 每种类型的变量也对应着一种相同类型的常量.

常量指的是运行时类型不能发生改变.

常量主要有以下两种体现形式:

1. 字面值常量

如同:10,true,"abc"等

2. final 关键字修饰的常量

final X=11;//X的值是常量,无法被二次赋值,否则就会报错

1.9 Java中的命名规则

包名:多单词组成时所有字母都小写:xxxyyyzz

 类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz

变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个 单词首字母大写:xxxYyyZzz 

常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ

 注意:

1:在起名字时,为了提高阅读性,要尽量有意义,“见名知意”。

2:java采用unicode字符集,因此标识符也可以使用汉字声明,但是不建议使用。

2 运算符

2.1算术运算符

.基本的运算符:+ - * / %

 规则比较简单, 值得注意的是除法:

a) int / int 结果还是 int

int a=1;

int b=2;

System.out.println( a / b );//输出的结果为:0

 b) 0 不能作为除数

int a=1;

int b=0;

System.out.printf(a/b);

// 运行结果 Exception in thread "main" java.lang.ArithmeticException: / by zero at         Test.main(Test.java:5)

c) % 表示取余, 不仅仅可以对 int 求模, 也能对 double 来求模

int a=14;

int b=5;

System.out.println(a%b);        //结果为4

.增量赋值运算符 += -= *= /= %=

int a=10;

a+=2;        //相当于a=a+2;

a-=3;        //相当于a=a-3;

a*=3;        //相当于a=a*3;

a/=4;        //相当于a=a / 4;

a%=4;        //相当于a=a%4;

自增/自减运算符 ++ --

如果是前置自增(自减),运算时先自增(自减),再运算;

int a=4;

int b=++4;        //a=5,b=5

如果是后置自增(自减),运算时先赋值,再运算。

int a=4;

int b=4++;        //a=5,b=4;

2.2关系运算符

关系运算符主要有六个:

==        !=        <       >        >=        <=

 注意: 关系运算符的表达式返回值都是 boolean 类型

2.3逻辑运算符

逻辑运算符主要有三个:

&&         ||         !

注意: 逻辑运算符的操作数(操作数往往是关系运算符的结果)和返回值都是 boolean .

逻辑与 &&

规则: 两个操作数都为 true, 结果为 true, 否则结果为 false.

 逻辑或 ||

规则: 两个操作数都为 false, 结果为 false, 否则结果为 true

 逻辑非 !

规则: 操作数为 true, 结果为 false; 操作数为 false, 结果为 true(这是个单目运算符, 只有一个操作数)

2.4位运算符

位运算符主要有四个:

&         |         ~         ^

位操作表示 按二进制位运算. 计算机中都是使用二进制来表示数据的(01构成的序列), 按位运算就是在按照二进制位的 每一位依次进行计算.

按位与 &: 如果两个二进制位都是 1, 则结果为 1, 否则结果为 0

按位或 |: 如果两个二进制位都是 0, 则结果为 0, 否则结果为 1.

按位取反 ~: 如果该位为 0 则转为 1, 如果该位为 1 则转为 0

按位异或 ^: 如果两个数字的二进制位相同, 则结果为 0, 相异则结果为 1.

2.5移位运算符

移位运算符有三个:

<<        >>        >>>

左移 <<: 最左侧位不要了, 最右侧补 0.

右移 >>: 最右侧位不要了, 最左侧补符号位(正数补0, 负数补1)

无符号右移 >>>: 最右侧位不要了, 最左侧补 0.

注意:

1. 左移 1 位, 相当于原数字 * 2. 左移 N 位, 相当于原数字 * 2 的N次方.

2. 右移 1 位, 相当于原数字 / 2. 右移 N 位, 相当于原数字 / 2 的N次方.

3. 由于计算机计算移位效率高于计算乘除, 当某个代码正好乘除 2 的N次方的时候可以用移位运算代替.

4. 移动负数位或者移位位数过大都没有意义

2.6条件运算符

条件运算符只有一个:

表达式1 ? 表达式2 : 表达式3

当 表达式1 的值为 true 时, 整个表达式的值为 表达式2 的值; 当 表达式1 的值为 false 时, 整个表达式的值为 表达式 3 的值

int a=12;

int b=32;

int max=a>b?a:b;        //结果为 max=32

3 注释

注释是为了让代码更容易被读懂而附加的描述信息. 不参与编译运行, 但是却非常重要. 时刻牢记! 代码写出来是为了给人看的, 更是为了给三个月后的你自己看的.

3.1 基本规则

Java中的注释主要分为以下三种

单行注释:// 注释内容(用的最多)

public class Test{
    public static void main(String[] args){
        System.out.println("hello");    
        //这是一个单行注释,运行的时候不会显示
    }
}

多行注释:(不推荐)

 public class Test{
    public static void main(String[] args){
        System.out.println("hello");    
        
    }
}

文档注释: (常见于方法和类之上描述方法和类的作用),可用来自动生成文档

public class Test{
    public static void main(String[] args){
        System.out.println("hello");    
       
    }
}

3.2 注释规范

1. 内容准确: 注释内容要和代码一致, 匹配, 并在代码修改时及时更新.

2. 篇幅合理: 注释既不应该太精简, 也不应该长篇大论.

3. 使用中文: 一般中国公司都要求使用中文写注释, 外企另当别论.

4. 积极向上: 注释中不要包含负能量(例如 领导 SB 等).

4 关键字

关键字是 Java 中的一些具有特定含义的单词.

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/336723.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号