【Java从入门到头秃专栏 】(二) 注释 数据类型 变量 常量 关键字 标识符 运算符 输入输出

举报
扎哇太枣糕 发表于 2022/05/17 08:31:46 2022/05/17
【摘要】 ​    目录 1 注释 2 数据类型 3 变量与常量 4 关键字、标识符 5 运算符 6 键入值、输出值 1 注释        注释就是写在程序中对代码进行解释说明的文字,方便自己和其他人查看,以便大家更加容易理解程序。注释虽然写在程序中,但是并不参与程序的执行,javac.exe程序在将.java文件编译成.class文件时将不再保留注释。注释的三种格式:单行注释:// 注释内容​编辑...

    目录

 1 注释

 2 数据类型

 3 变量与常量

 4 关键字、标识符

 5 运算符

 6 键入值、输出值



 1 注释

        注释就是写在程序中对代码进行解释说明的文字,方便自己和其他人查看,以便大家更加容易理解程序。注释虽然写在程序中,但是并不参与程序的执行,javac.exe程序在将.java文件编译成.class文件时将不再保留注释。

注释的三种格式:

  • 单行注释:// 注释内容编辑
  • 多行注释:/*  注释内容 */编辑
  • 文档注释:/**   注释内容   */编辑


IDEA中相关的快捷键:

  • 对选中的代码行进行单行注释,默认为光标所在代码行进行单行注释:Ctrl + /
  • 对选中的代码行进行多行注释,默认在光标处添加一个多行注释:Ctrl + Shift + /

上述快捷键按单数次是加注释,双数次是解开注释。编辑

 2 数据类型

        Java是一种强类型语言,这就意味着必须为每一个变量声明一种类型。数据类型分为基本数据类型和引用数据类型,基本数据类型又分为4类8种。编辑

2.1 基本数据类型

     2.1.1 整型

类型

占用字节数

取值范围
byte 1 -128 ~ 127
short 2 -32768 ~ 32767
int 4 -2147483648 ~ 2147483648
long 8 -9223372036854775808 ~ 9223372036854775808

整型数默认为int型,所以在变量初始化的时候,长整型数值要有一个后缀L或者l表示该数值是长整型,eg:4000000L即是一个长整型数值。

        在Java中不同进制整型数据的书写格式不同,二进制以0B或者0b开头,八进制以0开头,十六进制以0X或者0x开头,eg:97的二进制写法0B01100001、八进制写法0141、十六进制写法0x61


      2.2.2 浮点类型

类型 占用字节数 精度
float 4 6 ~ 7位有效数字
double 8 15位有效数字

浮点型数据默认为double型,所以在变量初始化的时候,单精度数值要有一个后缀F或者f表示该数值是单精度的,eg:99.99F。 

        浮点类型用于表示有小数部分的数值,double的精度大概是float的两倍,所以称float为单精度数double为双精度数。实际上,只有很少的情况适合使用float类型,eg:需要一个单精度的库,或者存储的数据量很大的时候。


      2.3.3 字符型

类型 占用字节数 取值范围
char 2 0 ~ 65535

        char型的数据使用时都要用单引号括起来,eg:'A'。除了常见的char型数据,还有一些特殊的转义字符,比如:\b表示退格、\t表示键盘的tab键、\n表示换行操作、\r表示键盘的enter键、\u加4个十六进制数表示一个Unicode编码值、\'表示一个单引号、\"表示一个双引号、\\表示反转义

  

      2.4.4 布尔类型

类型 占用字节数 取值范围
boolean 1 true 、 false

        boolean型只有两个取值范围用于判断逻辑条件,那就是true和false。整型值和boolean值之间不能进行相互转换。在C或者其他一些程序语言中,非0的值表示true即真,0表示false即假,但是在Java中boolean只有true和false两种取值表示真假。

   

2.2 类型转换

    2.2.1 自动类型转换

        类型范围小的变量可以直接赋值给类型范围大的变量,char转换成int是将其对应的ASCII码赋给int型变量。实线箭头表示无损失转换,虚线箭头的转换可能伴随有精度损失,不管是什么箭头都具有传递性,即不管通过几个箭头能指向的地方都可以进行自动类型转换。

编辑

   

      2.2.2 表达式中的自动类型转换

        在表达式(用一个二元运算符连接两个值)中,小范围的变量会自动转换成较大范围的类型进行计算。

        😏表达式的最终结果由表达式中的最高类型决定,比如说int + long = long、long + float = float……

        😣byte、short、char都是直接转换成int进行运算,也就是说byte + byte = int、short + short = int……

编辑

    

    2.2.3 强制类型转换(cast)

        类型范围小的变量不可以直接赋值给类型范围大的变量,除非使用强制类型转换,否则会报错。强制类型转换的格式如下:

大数据类型 变量1 = (小数据类型) 变量2或者是数据;

        🤐如果在强制转换的过程中,数值大小超过小数据类型的取值范围的话,结果将会被截断成两个完全不同的值,eg:(byte)1500 = -36,原理如下:

编辑

         🥱浮点型强转为整型,直接丢掉小数部分,只保留整数部分,而并不是结果四舍五入。

编辑

 3 变量与常量

        变量就是一个用来存储数据的内存区域,且里面存储的数据可以发生改变,常量就是存储的数据不能发生改变的变量。

变量统一使用 lowerCamelCase 风格,也就是常说的驼峰命名中的小驼峰,eg:femaleNum。

常量名全部大写,单词间用下划线隔开,力求语义表达完整清楚,不要嫌名字长,eg:MAX_STOCK_COUNT。

  3.1 变量的声明与赋值

声明并初始化一个变量

数据类型 变量名 = 初始值; 

当然在还没想好一个变量的初始值大小的时候,可以先声明变量再对变量进行赋值操作。在Java中,变量的声明要尽可能的靠近变量的第一次使用或者赋值的地方。

数据类型 变量名;

变量名 = 变量值;

Java中允许一次声明多个变量,但是不提倡这么使用,逐一声明更能提高程序的可读性

数据类型 变量名,变量名,变量名……;

变量使用的注意事项:

  • 变量必须先声明才能使用
  • 变量声明后只能存储声明时的数据类型,其他不行
  • 变量的有效范围是从定义的位置开始到“}”截止,在同一个范围内定义的变量命名不能相同。
  • 定义变量的时候可以没有初始值,但是使用时变量必须是已经初始化过的,也就是说使用时的变量必须是有值的

  

   3.2 常量

        常量在main方法的外部定义,因此在同一个类的其他地方中也可以使用这个常量,如果这个常量还被声明为public的话,其他类的方法也能使用它。

常量的声明并初始化一般采用下列格式:

public static final 数据类型 常量名 = 初始值; 

编辑

 4 关键字、标识符

        关键字是Java中自己保留的一些单词,作为特殊功能使用,比如数据类型的int、short、long、byte、double……一些特殊含义的单词class、const、if、for、else……保留字有很多,但是不需要刻意去记,随着学习的深入就可以自己总结一堆的关键字。

        标识符就是有一些字符、符号组合起来的名称,用于给类、方法、变量等起名的规则。标识符规则如下:

  1. Java变量命名只能使用字母数字下划线(_)美元符号($)组成。
  2. 变量名不能以数字开头,而且使用$开头虽然没错但是不推荐使用。
  3. 变量名可以和java关键字一样,但是可以包含关键字。
  4. 区分大小写(大小写不同代表不同的标识符)

编辑

  

计算机中的数据存储形式:

数字变量在计算机中的存储形式:二进制

字符变量在计算机中存储的形式:ASCII码编辑

图片、音视频在计算机中的存储:二进制文件 编辑

5 运算符

    5.1  算术运算符

符号 作用
+
-
*
/ 除(在Java中两个整数相处的结果还是整数)
% 求余数(又叫取模运算)

         “+”符号不止可以作加法运算符,在一定条件下还可以作字符串的连接符号,当“+”两边都是数值的时候就是加起来得到一个值,“+”两边无法运算的时候就连接字符串。其运算如下: 编辑

   

    5.2 自增自减运算符

        自增自减运算符是对变量而言的一种运算符,其他像字面量和常量就不能使用自增自减运算符。自增符号就是++,自减符号就是-- ,并且符号放在变量左右的位置不同其运算结果也会不同。符号在变量左面表示先加减1再用,符号在变量右面表示先用再加减1编辑

   

    5.3 赋值运算符

赋值运算符默认包含了一步强制转换,并不会像普通的表达式一样运算结果由最大的类型决定。

算式 等价
a = b a = b
a += b a = (a的数据类型)a + b
a -= b a = (a的数据类型)a - b
a *= b a = (a的数据类型)a * b
a /= b a = (a的数据类型)a / b
a %= b a = (a的数据类型)a % b


   5.4 条件运算符

条件运算符是对数据进行条件判断的符号,最终会返回一个比较的布尔值结果也就是true或者false

符号 说明
== 判断是否左右相等
!= 判断是否左右不相等
> 判断是否左大于右
>= 判断是否左大于等于右
< 判断是否左小于右
<= 判断是否左小于等于右

   

  5.5 位运算符

       5.5.1 逻辑运算符

符号 名称 说明
& 逻辑与(并且) 全真为真,有假则假
| 逻辑或(或者) 全假为假,有真则真
! 逻辑非 取反操作,非真为假,非假为真
^ 逻辑异或 相同为假,不同为真

除以上逻辑运算符外,还有两种短路逻辑运算符&&(短路与)和||(短路或),它们俩的运算结果和逻辑与、逻辑或的结果一样,区别在于:逻辑与、逻辑或无论左边是true还是false都要执行右边的表达式,短路与左边为false不执行右边,短路或左边是true不执行右边。

编辑

    5.5.2 移位运算符 

移位运算符在进行运算之前都要转换成二进制形式,移位操作是对二进制数的操作。

符号 说明
>> 向右移相应位数,低位舍去,高位补符号位
<< 向左移相应位数,高位舍去,低位补0
>>> 向右移相应位数,低位舍去,高位补0

编辑

 ⚠  移位运算符的右操作数需要完成模32运算(除非左操作数是long型,long型进行模64运算),eg:1 >> 35   <==> 1 >> 3

   

    5.6 三元运算符

三元运算符是?:,其使用格式如下:

数据类型 变量名 = 条件表达式 ? 值1 : 值2;

条件表达式的结果为true时变量赋值为值1,反之变量的值为值2


    5.7 运算符优先级

编辑编辑

6 键入值、输出值

    6.1 键入

        无论是键入值还是输出值都需要使用到System类,但是由于System和String等类在java.lang包下,所以不需要导包,Java默认导入。

鼠标键入值需要三到四个步骤

导包:import java.util.Scanner;

创建扫描器对象:

Scaaner sc = new Scanner(System.in);

输出提醒语句:

System.out.println("提醒语句");

等待用户输入数据:

数据类型 变量名= sc.扫描方法;

扫描方法有很多种,具体使用哪一个由前面定义变量的数据类型决定,常用的有接收整型nextInt() 、接收键入的一行字符串nextLine()、接收键入字符串以空格为分界的一个单词next()、接收单精度数值nextFolat()、接收双精度数值nextDouble()……

  

    6.2 格式化输出

        从前面我们就可以知道,Java的输出要比输入简单得多,仅需一句System.out.println();就可以完成输出,但是如何进行格式化输出就有点困难了,加下来介绍一种格式化输出的方法:使用静态的String.format方法进行格式化,可以输出也可以用字符串变量接收不输出。由于Java中使用其对小数进行保留位数的操作最多,故下面主要介绍保留小数的用法(保留两位小数)当然在格式不错的情况下保留的位数是可以改变的

String num = String.format("%.2f",c);

System.out.println(String.format("%.2f",c));


上一篇:【Java从入门到头秃专栏 1】学在Java语法之前

下一篇: 【Java从入门到头秃专栏 3】语法篇(二)

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。