admin管理员组

文章数量:1530845

记录教材重点,誊写个人理解,记录学习步骤

文章目录

  • 前言
  • 1.什么是Java语言?
    • 1.1对于我个人而言Java是什么?
  • 2.JDK以及IDE的安装和配置
    • 2.1.JDK的介绍和配置
      • 2.1.1.JDK的配置
      • 2.1.2.JDK的配置检查
    • 2.2.IDE的介绍
      • 2.2.1.Eclipse的安装
      • 2.2.2.Eclipse的使用
      • 2.2.3.建立一个Java的工程文件
    • 2.3.二单元总结
  • 3.Java的基础语法
    • 3.1Java的主类结构
      • 3.1.1Java包
      • 3.1.2类的全局变量和局部变量
      • 3.1.3访问权限修饰词
      • 3.1.3编写主方法
    • 3.2.注释及使用场景
      • 3.2.1单行注释和多行注释
      • 3.2.2注释文档
      • 3.2.3嵌入HTML语言和标签
    • 3.3.Java的基本数据类型
      • 3.3.1.整数类型
        • 3.3.1.1 Byte类型
        • 3.3.1.2 Short类型
        • 3.3.1.3 Int类型
        • 3.3.1.4 Long类型
        • 3.3.1.5 整数类型的总结
      • 3.3.2. 浮点类型
        • 3.3.2.1 Float类型
        • 3.3.2.2 Double类型
        • 3.3.2.3 浮点类型的总结
      • 3.3.3. 字符类型
      • 3.3.4. 布尔类型
      • 3.3.5.引用类型对象
      • 3.3.6.特殊值null
    • 3.4.数据类型之间的转换
      • 3.4.1自动转换
      • 3.4.2强制转换
    • 3.5.常量与变量
      • 3.3.1常量和符号常量
    • 3.4.整型数据
      • 3.4.1整型常数的表示方法
      • 3.4.2整型变量
        • 3.4.2.1整型数据在内存中的存放形式
        • 3.4.2.2整型变量的分类
    • 3.6.操作运算符
      • 3.6.1算数运算符
      • 3.6.2比较运算符
      • 3.6.3赋值运算符
      • 3.6.4递增递减运算符
      • 3.6.5逻辑运算符
      • 3.6.6三元运算符
      • 3.6.7位运算符
      • 3.6.8instanceof运算符
      • 3.6.9运算符的优先级
    • 3.7.表达式
    • 3.8.三单元总结


前言

我个人第一次学习编程语言是C语言但是后期因为学习规划从C语言部分转到了Java语言,但是C语言的知识积累依旧让我在学习Java的过程中减少了大量的压力,今日有幸因为未来的人生规划重拾Java这一项技能 在接下来的28天内我将根据书本指示从入门开始复习这项语言 每一次以教学的语气来记录学习过程不但能够帮助到一起学习的朋友也可以让我自身跟着再复习一遍更能够巩固知识 每周至少更新3次此博客,以监督自己的学习进度

提示:以下是本篇文章正文内容,下面案例可供参考

1.什么是Java语言?

Java是一门面向对象编程语言,不仅吸收了C语言的各种优点,还摒弃了C里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点 。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。

1.1对于我个人而言Java是什么?

首先C语言是我接触的第一项计算机编程语言也是它提起了我编程的兴趣,对于我来说它更像是我的启蒙老师,而当初我仅学习了一半的C语言便有幸入选校集训队,在后来也有接触Java、Android、Python(熟练顺序),再后来更是因为比赛的要求长时间未接触编程语言对此已是非常生疏,所以才有了这篇文章再未来的一段时间内我将会重新开始复习Java语言并同步更新博客,对于重要知识进行详细誊抄记录。 ——本文仅作为本人学习记录不作其他用途,如有需要可收藏借鉴

----------------------------------------------------------------------------------------------------------------------------

2.JDK以及IDE的安装和配置

由于本人已经完成Java以及eclipse的安装所以一些步骤仅作基本描述不额外配图–本文使用Win10系统

2.1.JDK的介绍和配置

JDK介绍:编译和开发运行Java程序需要下载JDK即:Java Development Kit–Java开发工具包
首先打开Microsoft Edge在地址栏输入官方网址http://www.oracle/index.html可以通过网页翻译找到资源→软件下载→下滑找到面向开发人员的Java(JDK)下载符合自己计算机系统的安装包文件可以直接选择后缀exe文件下载
下载完成后可以直接双击文件进行JDK的安装若无其他需求可以不更改路径等其他配置后续学习记录使用的是无任何更改的默认安装

2.1.1.JDK的配置

安装好JDK后右击“计算机”点击属性→高级→环境变量或直接Win键搜索环境变量
打开编辑环境变量的窗口后在下方系统变量处新建一个变量名为“JAVA_HOME”变量值为“C:\Program Files\Java\jdk-17.0.1”的新环境变量
同样是在环境变量的系统变量处找到变量名为“Path”的系统变量点击编辑环境变量(注意是系统变量内的“Path”不是用户变量内的“Path”—我犯过这个错误)然后在“Path”内部新建两个变量分别为“%JAVA_HOME%\bin”和“%JAVA_HOME%\jre\bin”
提示:完成以上步骤点击确定退出即可,若点击取消退出请重复以上步骤(狗头保命)

2.1.2.JDK的配置检查

结束JDK的安装后;旧版Windows系统搜索“运行”;Win10及以上搜索“命令提示符”也可以直接Win键+R输入cmd回车建议多使用快捷键对以后的工作效率非常有帮助,打开控制台后输入java -version可以查看当前Java版本,输入javac可以查看JDK编译器信息和语法参数等信息
提示:看不懂没关系我也看不懂(狗头保命×2)反正只要输入正确之后不会报错就说明你的JDK是安装成功的,安装失败也不需要着急重复以上步骤即可,我第一次也是不会弄

2.2.IDE的介绍

IDE介绍:IDE即:Integrated Development Environment–集成开发环境Java可以使用文本文档直接书写代码并运行,但是合理利用工具可以大幅提高工作效率,在工作当中他可以帮助你仅用一小段代码就帮助你识别并打出整体的代码可以大幅减少重复的工作量,那么合理的选择IDE就是非常重要的,我个人除了以前学习的C语言使用的是(啊哈C)以外另外一个软件就是Eclipse我下面文章使用的也是这个IDE,版本2021-09因为我发现2021-12的版本我好像完全看不懂(忘了是不是2021-12的版本但是我记得图标变成黄色的了应该属于大改了,看个人需求选择版本即可)
提示:其实后半段可以不用看的,我用来凑字数的(狗头保命×3)

2.2.1.Eclipse的安装

老规矩打开Microsoft Edge在地址栏输入官方网址http://www.eclipse/右上角点击Download找到Eclipse直接下载即可Eclipse为免费IDE软件如果跳出支付选项可以直接跳过那个是选择性捐款,如果是强制支付就检查一下地址栏网址输入是否正确,下载完成后直接双击文件进行安装首先跳出来的是Eclipse的目录选择如果没有额外需求可以直接跳过点击INSTALL直接进行安装,后续也是可以直接跳过如果看不懂还随意修改可能会使得以后不能完全正常运行

2.2.2.Eclipse的使用

第一打开Eclipse会提示让你选择一个工作空间,其中保存的就是你编写过的程序,哪怕是你在Eclipse删除了改程序但是没有勾选删除源文件以后你还是能看见这个草稿的(其实不需要保存自己无用的代码因为一般超过3天你就看不懂自己写的东西了)这个工作空间可以自己选择其他磁盘保存减少C盘的负担也就没那么卡(别安装到U盘里就行其他随便搞)

2.2.3.建立一个Java的工程文件

首先点击左侧工具栏“Create a new Java project”会弹出一个项目界面,Eclipse会自动匹配并添加系统上的JDK,其他选项都快可以直接按照默认设置跳过,然后填写一个项目名称Hippo(必须是英文名)而且最好是简洁描述程序的作用或者直接是项目的名称方便以后自己找工程文件,建立好后会有一个以项目名命名的文件夹和src文件夹,Java的工程文件都是保存在src目录下的,右击sre目录新建一个“Package”包名称为“com.hippogagacool”在这个包下面再新建一个类名为“MyFirstJavaProgram”后续就在这个Package进行学习,可以在当前类中复制粘贴以下代码并运行测试

package com.helloworld;

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

2.3.二单元总结

主要记录JDK和IDE的安装和配置及使用,方便以后如果有需要但是忘记了步骤可以自己参考,主要易错点

  1. 地址的输入如果是反斜杠的话是识别不到的
  2. 系统变量和用户变量不能混淆
  3. 官方网站的识别
  4. Eclipse配置基本无需修改
  5. Eclipse内的项目命名格式
    因为我个人的书本的编写所使用的JDK是属于1.8.0版本但是在我实际编辑这篇文章的时候官方网站已经更新到了1.17.0版本,这么长时间以来多次版本的更新迭代已经使得JDK的安装非常便捷了所以我的文章记录也是按照最新版来操作的,对于新手程序猿或者是一些有过相关知识涉猎的人员还是比较友好的。

—拿的是之前文章的格式所以后面还没开始改最后修改2022/1/8 23:07

3.Java的基础语法

学习一门语言知识都要从最基础的语法开始,包括但不限于程序语言像是学习中文英文也是如此,而Java是一门面向对象的程序设计语言,Java里的每一个操作与运算都离不开最基础的类型和语法,那么我将从以下多个角度记录语法的学习

3.1Java的主类结构

Java是一门面向对象的程序设计语言,在Java中是用类——关键字class来定义对象的类型的,大多数面向对象的程序设计语言都习惯使用关键字class来表示并描述“这类对象是长什么样子的

package com.hippogagacool.java;

public class hippocool{
private String hippo
private String gagacool
}

但是想要
在以上代码中package为包的声明关键字后续会再学习介绍,而第三段开始即为一个类的定义这个类名为hippocool而其中的hippo和gagacool又被定义为类的两个内容,如果要使这个类成为一个独立运行的程序那么这个类又必须包含在一个名为main()的方法下此时这个hippocool又被称作为主类,一个类只可以有一个主方法但是又可以定义多个次方法

package com.hippogagacool.java;
//这是一个主类它被命名为hippocool
public class hippocool{
	//这是主类hippocool中的一个主方法也只能有一个
	public static void main(String[]args){
		//这是主方法中的下级方法
		private void bighippo(){
		}
		private void smallhippo(){
		}
	}

3.1.1Java包

在实际编写程序语言时不知一个Java类文件会被调用,当class类文件繁多时,程序猿又很难管理和查找特定的文件(毕竟还要穿着格子衫吃香蕉狗头保命×5)所以Java就提供了包管理机制——package关键字上一个小节中的第一段(package com.hippogagacool.java)即为包的声明,其中package为包的声明关键字而声明后面的则为包的路径,在以上示例中对应的路径即为com/hippogagacool/java,也就是这个包声明的文件在操作系统下的保存路径,包的额外注意事项是,包的声明应该在文件的第一行,而且每个Java文件也只能有一个包声明,包的命名不能以数字开头如果非要添加数字那么可以以下划线_来作为开头命名

3.1.2类的全局变量和局部变量

全局变量也称成员变量但是在我的Java学习中更多的是称之为全局变量所以后续都以全局变量来指代成员变量(也更好理解),那么先说一个Java的类文件中会有两个组成部分一个是全局变量和局部变量,全局变量是指类中直接声明的属性,局部变量则是方法中声明的属性,全局变量能在类中的各个方法中调用,而局部变量只能够在声明的方法中使用。
举个栗子🌰,首先Country>Province>City,首先City和Province组成了一个Country那么在Country中我们定义了一个全局变量即为Country法律,下级的Province和City都能够调用Country的法律,Province和City都能够基于Country的法律发行地方性法规,那么就有了Cityone的地方性法规和Citytwo的地方性法规,而地方性法规也就是该方法中的局部变量他们在当前地区内(方法)能够直接使用但是不能跨地区(方法)来进行调用

3.1.3访问权限修饰词

Java提供了三种访问权限修饰词,分别是public,private,protected在类文件中每个成员定义之前每个修饰词都给予了成员不同的权限,除此之外还要提到一个包访问权限,当你不在方法中给予他们权限时Java会默认该类的访问权限为包访问权限,即一个大厦内你可以开一家酒店并设置一个公开的大厅也可以设置一个私有的房间和一个继承的房间(也可以理解为一个100平的房间再分割出一个厕所),那么如果你不设置这个区域到底是公开的大厅还是私有的或者继承的房间的话,这个大厦就会认为你这个区域能够被整个大厦的人进出(也可以理解为电梯)被包括这一层酒店以外的所有人共同使用

公开访问权限——pubilc,public标识该类或者全局变量与函数对其他类文件都是开放的,甚至是不论是否在这个包目录下都可以直接调用,在调用时只需要用到import关键字引入即可
私有访问权限——private,private标识该类或者全局变量与函数只能够在自己的类文件内使用,其他任何的类文件都无法访问和使用这个变量或函数,这也意味着甚至是在同一个包的其他文件内也是无法访问的
继承访问权限——protected,protected继承是一种派生类的概念(我当初好像也只学到了继承后面就没学过了)这里我们引入父类和子类的概念(也就是你随你父亲的姓氏)如果类B继承了类A,那么类A就是类B的父类而类B也就自然成为了类A的子类,那么类A制定的规则类B就可以直接拿来使用,而类B制定的规则却只能在当前类中使用而无法在类A中使用也无法在类A的其他子类CDEF中使用

3.1.3编写主方法

每个Java应用程序都必须有且仅有一个main主方法,程序从“{”开始运行到“}”结束,前面我的栗子也同样使用了主方法,main主方法必须被声明为public static void,并且入参(我也不太懂这个,要么就是懂但是不知道名字)必须是String[]args 或者是String args[]
main方法之所以是pubic是因为每个Java程序在运行时都要创建一个Java虚拟机实例(Java Virtual Machine)即JVM,由JVM从外部调用main方法就需要公开访问权限,所以必须要使用public来声明 而void则表示main方法没有具体的返回值 static关键字可修饰类的属性和方法,被static修饰的成员被称作“静态成员”,静态成员不会创建对象,只作为类的共享属性进行管理,所有使用了静态成员的方法都将共享同一个静态成员(这是啥呀…据说第9章会再讲到等我学到了再说) String[]args是主方法的参数列表,是一个数组类型的参数,这里使用字符串类型String,也是因为任何数据都能够转换为字符串形式(我自己大概能理解但是自己的理解无法详细的描述出来据说第6章节会详细介绍可以往后看看我有没有更新…别催更)

3.2.注释及使用场景

在程序设计语言中注释是用来提高程序的可读性的,好的注释和文档能够在很长的时间后仍为读者提供有效的思路进行解读(我自己不写注释的程序不出三天就看不出来定义的数据是从哪来的…)

3.2.1单行注释和多行注释

Java有两种注释风格分别是单行注释和多行注释,单行注释以“//”开头没有结尾一直到本行结束为止,在少量的代码和注释前使用起来比较方便;而多行注释一般用于大段的文本也可以注释程序来进行参考或者备份,多行注释以“/”开头,以“/”结尾中间则是注释内容,内容可以跨越多行🌰:

package com.hellohippo;

public class Hellohippo {
	多行注释
	/*
	public static void main(String[]args)  {
		System.out.println("hellohippo");
	}
	*/
	public static void main(String[]args)  {
	单行注释
		//System.out.println("hellotiger");
		System.out.println("hellohippo");
	}
}

3.2.2注释文档

注释文档以“/**”为开头以“*/”为结尾,和多行注释不同的是,注释文档一般在类声明和方法声明前,Java提供了javadoc将这些注释提取出来,自动生成好的程序文档以供参考,输出的文档格式为HTML文件可以直接使用Web浏览器岔开,这样javadoc就将代码和文档一同维护起来也大大降低了程序的维护成本

3.2.3嵌入HTML语言和标签

由于Java使用了注释编译器javadoc生成HTML文档进行管理,注释里也可以加入HTML代码使得代码格式变得更加清晰明了,在代码中类、方法等类型的注释文档都支持直接嵌入HTML语言

/**
*这就是一个嵌入了HTML语言的注释文档
*<pre>
*System.out.printf("hippogagacool")
*</pre>
*<ol>
*<li>我也不会HTML我这是书上抄的
*<li>但是放进相对位置肯定正确就对了
*</p>
*/
标签说明
@see引用其他类的文档
{@link}使用标签作为超链接到其他类的文档
{@docRoot}文档根目录的相对路径
{@inheritDoc}从该类最近的基类中继承相关的文档
@version版本说明相关信息
@author作者信息
@since程序最早使用的JDK版本
@param用于方法文档,标识方法参数
@return用于方法文档,标识返回值内容
@throws用于方法文档,标识抛出的异常说明
@Deprocated标识一些旧的特性或已不再维护的代码

3.3.Java的基本数据类型

在程序语言的设计之中,我们通常会使用一系列的基本数据类型来处理我们所需要的信息,我就将这个基本数据类型分为几个部分来讲:整数类型、浮点类型、字符类型、布尔类型、引用类型对象、特殊值

3.3.1.整数类型

Java提供了四种整数类型用于存储整数数值,分别是byte,short,int和long,这些类型可以储存正数也可以储存负数,但是不同类型的取值范围不同所以学会识别类型非常重要,一般是根据工作和学习的需求不同来进行数据类型的选择

3.3.1.1 Byte类型

byte数据类型占用内存量8位且有符号分别但是不直接使用“-”号表示负数,在byte数据类型中是以二进制补码来表示符号所以byte类型的最大值为127(2的7次方-1)最小值为(-2的7次方)默认值为0,无需过多纠结于-128的来源只需要记住数值取反需+1即可
拓展学习:为什么最小值为-128而不是-127,这个问题就需要引用到对补码的定义,正数以及负数的计算中是可以理解为:去除最高位符号位后,那么正数剩余的位数正好和对应的负数剩余的位数全部相反,相反后+1则127表示为01111111取反后则表示为1000000,因为去除第一个表示符号的字符后可以看作为01111111而取反并+1后则为10000000也就是128,那么我们继续引入表示符号的字节位也就是1_10000000即-128

3.3.1.2 Short类型

short数据类型占用内存量16位也就是两个byte的占用空间,最大值为32767(2的15次方-1)最小值为-32768(-2的15次方)默认值同样为0,在short数据类型中是以二进制补码来表示符号的于byte类型符号表示方法相同都是以最高位表示符号且0为正数1为负数,同样在计算反值是使用取反+1

3.3.1.3 Int类型

int数据类型占用内存量32位即4个byte或是2个short即占用4个字节位,与前面相同有符号且以最高位表示符号最大值为2147483647(2的31次方-1)最小值为-2147483648(-2的31次方)默认值为0

3.3.1.4 Long类型

long数据类型占用内存量64位即8个byte,4个short,2个long即占用8个字节位,与前面相同有符号且以最高位表示符号最大值为9223372036854775807(2的63次方-1)最小值为-9223372036854775808(-2的63次方)默认值为0

3.3.1.5 整数类型的总结

一个byte占用8个位即一个字节,一个short又占用16个位即2个字节以此类推,一个long则占用64个位即8个字节,在计算一个数值取反时必须-1否则可能在程序中获得不到自己想要的答案,越简单越细节的知识往往越容易被忽略
在目前计算机的计算中通常以byte为最小位数,但是如果用于学习或者工作利用率都是极低的所以我们在编写一项简单的程序时一般定义的是short数据类型与int数据类型,他们既不会过多占用空间对于正常使用又绰绰有余所以平常这两种数据类型应该是属于使用的比较频繁的,但是我们也要看清楚思考清楚才去定义数据类型否则如果在后面运行程序时有可能会出现数据类型最大值小于当前数值有可能会使得数据出错或者是直接被程序省略的问题

3.3.2. 浮点类型

Java提供了两种浮点数据类型分别为float和double,浮点数据类型顾名思义就是存在小数点的数据类型,它与整数数据类型也有相似之处他们也分为多个数据类型占用的内存量同样存在倍数的差距,但是他们之间也一样存在不同之处否则也不会分成两种数据类型,在浮点数据类型中默认值为0.0F/D而非为0,浮点数据类型是不能用于表示精确数值的因为计算机的计算是存在误差的但是后续我们一样可以学习到将一组数值经过四舍五入后取得近似的精确数值

3.3.2.1 Float类型

float数据类型是单精度数值类型占用内存32位即4个字节,float类型小数后必须加上F或者是f否则会被计算机默认认为是double数据类型所以默认值即为0.0F/f

3.3.2.2 Double类型

double数据类型是单精度数值类型占用内存64位即8个字节,double类型小数后必须加上D或者是d当然也不可以不加但是为了养成一个好习惯最号还是加上,不加也不会被计算机默认认为是float数据类型所以默认值即为0.0D/d也可以是0.0

3.3.2.3 浮点类型的总结

浮点数据类型与整数数据类型不同,他们的数值后面必须带有表示数据类型格式的简写即F/f或是D/d,在浮点数据类型中也不存在以补码格式存在的符号它可以直接加上“-”号

3.3.3. 字符类型

Java提供了char类型,用于储存任何单一的16位Unicode字符,char类型可以存储任何字符但是数量只能为一个,在char类型中使用单引号(’ ‘)来表示一个字符,最小值为’\u0000’即为0最大值为’\uffff’即为65535,所以char类型也可以当整数来用,他的每一个字符都对应着一个数字,char中我们可以使用(Character.SIZE)来证实它的占用空间,那么在char中又将涉及到一个特殊的字符即为转义符,关于转义符的解释在章节结尾(方便水字数狗头保命×4)

3.3.4. 布尔类型

布尔类型boolean是最简单的一种数据类型,在Java中仅占1个字节,在boolean的定义中它只有false(假)和true(真)两个值也可以直接使用0和1来指代,在Java中boolean变量的默认值通常为false(假)即为0

3.3.5.引用类型对象

Java是支持面向对象技术的,面向对象能够将问题的事务分为多个对象来执行(就比如一局五子棋的游戏,面向过程的运用就是先开始游戏、黑子先走、绘制画面、判断输赢、白子走、绘画、判定、输出结果;而在面向对象中它可以将一个游戏主体分为多个运用的系统,黑子白子都为同样的操作方式那么他们就可以分为一个独立的系统,棋盘系统可以在得到黑白系统的下棋指令后调用黑白子的坐标进行正确的绘制,在棋盘系统绘画完成后又让规则系统来判定输赢),所以面向对象将更有利于项目的实现和理解。在Java中,对象的类型也被称为“引用类型”,因为对象的赋值和使用都是通过引用底层固定内存地址进行的。在后续第9章节的学习中我将根据书本的学习再加以补充此部分。

3.3.6.特殊值null

Java中有一种特殊的关键字——null,正如它的翻译一样意思是等于零的,无价值的,那么它在Java中的意思也是这样子它表示一个变量没有任何值。null可以认为是任何引用类型,而上面的八种基本数据类型都具有默认值所以是不允许被赋值为null的,null既不是对象也不是一种基本数据类型,它是一种特殊值并且可以复制为任何引用类型的对象

3.4.数据类型之间的转换

3.4.1自动转换

3.4.2强制转换

3.5.常量与变量

对于基本数据类型而言,按期取值的属性又可分为常量和变量两种
在程序执行过程中其值不发生改变的称之为常量<常量可以不经过说明直接使用>
其中又可结合数据类型来分类出:整型常量,浮点常量,字符常量,枚举常量
在程序执行过程中其值可发生改变的称之为变量<变量必须先定义后使用>
其中又可结合数据类型来分类出:整型变量,浮点变量,字符变量,枚举变量

3.3.1常量和符号常量

在程序执行过程中其值不发生改变的量成为常量

  • 直接常量可分为
    整型常量:1、2、-3
    浮点型常量:4.5、7.6、-8.9
    字符常量:‘a’、‘b’

标识符:用来标识变量名、符号常量名、函数名、数组名、类型名、文件名的有效字符序列。
符号常量:用标标识符代表一个常量 称之为符号常量<常量标识符用大写字母,变量标识符用小写字母以示区别例如:A[a]>

3.4.整型数据

3.4.1整型常数的表示方法

整型常数就是整常数,在C语言中使用的整常数有八进制、十进制、十六进制三种
八进制数码取值为0-7
十进制数码取值为0-9
十六进制数码取值为0-9以及 A-F
特别补充:当整常数超过表示范围就必须用长整型数来表示,长整型数是用后缀"L"或"l"来表示
<各种进制不作过多解释有需求可以自行搜索资料了解>

3.4.2整型变量

3.4.2.1整型数据在内存中的存放形式

假定我们定义了一个整型变量i并为其赋值,那么将写作:
int i ;
i=10;

如果是求-10的补码则在10的基础上取补码再加1即为-10的补码

3.4.2.2整型变量的分类
  1. 基本型:类型说明符为 int,在内存中占 2 个字节
  2. 短整量:类型说明符为 short int 或 short,所占字节和取值范围均与基本型相同
  3. 长整型:类型说明符为 long int 或 long,在内存中占 4 个字节
  4. 无符号型:类型说明符为 unsigned
    无符号型又可与上述三种类型匹配而构成:
    无符号基本型:类型说明符为 unsigned int 或 unsigned
    无符号短整型:类型说明符为 unsigned short
    无符号长整型:类型说明符为 unsigned long
    有符号整型变量最大值为32767

    无符号整型变量最大值为65535

3.6.操作运算符

3.6.1算数运算符

3.6.2比较运算符

3.6.3赋值运算符

3.6.4递增递减运算符

3.6.5逻辑运算符

3.6.6三元运算符

3.6.7位运算符

3.6.8instanceof运算符

3.6.9运算符的优先级

3.7.表达式

3.8.三单元总结

本文标签: 全记录基础Java