Java基础系列–01_基础类型

J2SE、J2ME、J2EE分别指什么?
J2SE 基础版,桌面应用。
J2ME 微型版,手机开发。(android,ios)
J2EE 企业版,所有浏览器访问的应用程序。
注意:JDK5以后改名
JavaSE,JavaME,JavaEE,J2SE是学习其他两门的基础。

JDK,JRE,JVM的作用及关系
JDK:用于开发java程序
JRE:用于保证java代码的执行
JVM:保证java语言跨平台(相当于是翻译官,但JVM本身是不跨平台的)
包含关系:JDK(JRE(JVM))
path,JAVA_HOME,ClassPath的理解
path:保证JDK目录下bin文件的.exe文件可以在任意的目录下打开,编译Java的源代码
JAVA_HOME:方便修改jdk的版本,而不需要重新修改path下的路径,防止意外修改的错误
ClassPath:让指定的class文件在任意目录都可以被访问。
在最左边配置一个.; ,这样做的好处就是能够先在当前目录下查找并执行。具体的配置,可以自己去百度看看

关键字:
const,goto是Java的保留字,未使用。
标识符:
(1)对各种变量、方法和类等要素命名时使用的字符序列称为标识符。
由26个英文字母大小写,数字:0-9 符号: 和$ 组成
(2)组成规则
A:标识符由字母、下划线”
” 、美元符”$”或数字组成。
B:标识符应以字母、下划线 、美元符开头,不能以数字开头。
C:不能和关键字重名。
D:名字不能使用空格隔开。
E:Java中严格区分大小写
(3)常见的命名规则:
包:用于把同名的文件放到不同的目录下,全部小写,多级包用.分开
举例:java.nio.file(Files类所在的包)
类和接口:(驼峰命名)
每个单词的首字母大写
举例:类:InputStream(输入流) 接口:AutoStream(输入流实现的接口)
方法和变量:首字母小写,第二个单词的首字母大写
举例:方法:main(),toString() 变量:args,studentName
常量:全部大写,多个单词使用_隔开
举例:STUDENT_MAX_AGE
注释:
多行注释:/注释内容/
单行注释://注释内容
注释的作用:对程序进行解释说明,还可以用于调试程序;或者可以提醒此处应当注意的问题

数据类型

基本类型:存储于栈中

_引用类型:变量名存储与栈中,地址值存储于堆中(方法存储于方法区中)
_

Java的8种基本类型 类型 字节 默认值 表示范围 byte 1 0 -28 ~ 28-1 short 2 0 -216 ~ 216-1 int 4 0 -232 ~ 232-1 long 8 0l -264 ~ 264-1 float 4 0f double 8 0 char 2 \u0000 0~65535(ASCII) bollean ? false

注意:

整数默认是int类型。long类型需要加L或者l后缀。
浮点数默认是double类型。float类型需要加F或者f后缀。
官方声明”boolean类型的变量所占的字节并不确定。

boolean: The boolean data type has only two possible values: true and false. Use this data type for simple flags that track true/false conditions. This data type represents one bit of information, but its “size” isn’t something that’s precisely defined.

布尔类型:布尔数据类型只有两个可能的值:真和假。使用此数据类型为跟踪真/假条件的简单标记。这种数据类型就表示这一点信息,但是它的”大小”并不是精确定义的。

数据类型转换
(1)boolean类型不参与转换
(2)默认转换
A:从小到大
B:byte,short,char — int — long — float — double
C:byte,short,char之间不相互转换,直接转成int类型参与运算。
(3)强制转换
A:从大到小
B:可能会有精度的损失,一般不建议这样使用。
C:格式:
目标数据类型 变量名 = (目标数据类型) (被转换的数据);

(4)注意事项:
A:float的表示
float f1 = 12.345f;
float f2 = (float)12.345; //自身到自身,无区别
B:下面的程序的问题

C:下面的操作结果是什么?

程序解释:

byte b2 = (byte)130;

数据:130默认是int类型(4字节,32位)的十进制数据。
第一步:十进制的130转换成二进制数据。
130 = 128 + 2
128 64 32 16 8 4 2 1
1 0 0 0 0 0 1 0
第二步:130在内存中的表示形式,做了截取(byte:1字节,8位)
00000000 00000000 00000000 10000010
截取后的结果是:10000010
第三步:二进制数据是10000010
通过观察,我们发现这是一个负数。
原码:1 0000010
反码:1 1111101
补码:1 1111110
最终的结果是:十进制的(-126)
1 1111110

第二个:
byte b3 = (byte)300;[256+32+8+4]
二进制:
00000000 00000000 00000001 00101100
截取后:十进制的(44)
00101100
D:字符参与运算
将字符转换为ASCII所对应的值
如:’a’–97 ‘A’–65 ‘0’–48
键盘:0-9,A-Z,a-z 对应 ASCII:48-57 65-90 95-122
E:字符串参与运算:字符串前面与后面的+,表示字符串的连接

Original: https://www.cnblogs.com/zhenjungan/p/10557071.html
Author: zhenjungan
Title: Java基础系列–01_基础类型

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/581906/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 面试必问的安卓虚拟机,你真的掌握了么?——安卓虚拟机基础知识回顾

    前言 21世纪,安卓虚拟机正在一步步的走入我们的生活,小到个人部分朋友在电脑上使用安卓虚拟机玩手游,大到安卓从业人员在虚拟机上面跑程序。不得不承认,对于每一位Androider 而…

    Linux 2023年6月13日
    0107
  • JVM核心之JVM运行和类加载全过程

    为什么研究类加载全过程? 有助于连接JVM 运行过程 更深入了解java 动态性(解热部署,动态加载),提高程序的灵活性 类加载机制 JVM 把class 文件加载到内存,并对数据…

    Linux 2023年6月13日
    092
  • Redis相关监控参数【转】

    1 慢查询 默认情况下命令若是执行时间超过10ms就会被记录到日志,slowlog只会记录其命令执行的时间,不包含io往返操作,也不记录单由网络延迟引起的响应慢。如果想修改慢命令的…

    Linux 2023年5月28日
    084
  • 爬虫

    简介: 浏览器发送http请求,去后端服务器获取到数据之后只能从浏览器中看,如果要把需要的数据保存到本地,存到我们自己库中就可以用到爬虫 百度本质就是一个大爬虫(搜索),在输入框中…

    Linux 2023年6月14日
    0114
  • 在自己的项目中使用PCL

    在自己的项目中使用PCL项目设置:1、创建cpp文件,如pcd_write.cpp,文件内容如下例: #include find_package(PCL 1.3 REQUIRED …

    Linux 2023年5月27日
    089
  • SQL中连接(JOIN)子句介绍

    本文主要介绍 SQL(Structured Query Language)中连接(JOIN)子句的相关知识,同时通过用法示例介绍连接的常见用法。 说明:本文的用法示例是面向 MyS…

    Linux 2023年6月13日
    088
  • (Java初学篇)IDEA项目新建流程和软件配置优化以及怎么彻底删除项目

    相信很多小伙伴们在初学 Java 时都会出现这样的情况,就是在网上一顿搜索加捣鼓终于把 JDK 和IDEA 这两款软件安装配置好,但是发现面对这个陌生的软件此时却无从下手,那么接下…

    Linux 2023年6月6日
    0151
  • Linux下腾达无线网卡U6的驱动安装

    U6无线网卡是rt8192eu芯片, 腾达驱动只支持到内核4.4左右; 5.0以上的内核就需要自己编译的。 终于找到了一个github修改版的驱动,经过验证运行正常。 https:…

    Linux 2023年6月14日
    098
  • Windows 11 绕过 TPM 方法

    在 Windows 11 安装界面按 Shift + F10 打开命令行界面,执行如下命令: REG ADD HKLM\SYSTEM\Setup\LabConfig /v Bypa…

    Linux 2023年6月13日
    0116
  • 旅游清单一步搭建,Angular助力你的踏春计划

    春天的脚步愈发临近,相信很多小伙伴已经开始规划自己的踏春计划了,无论是欣赏名胜古迹,还是走访风土人文,你都需要提前准备一份旅游清单!有了这款Angular旅游计划应用,从地点到预算…

    Linux 2023年6月13日
    0118
  • Question05-查询所有同学的学生编号、学生姓名、选课总数、所有课程的总成绩

    * SELECT a.SID, a.Sname, COUNT(b.CID) 选课总数, SUM(score) 总成绩 FROM Student a , SC b WHERE a.S…

    Linux 2023年6月7日
    0152
  • Spring 4 集成 redis 实现缓存 一

    随着Web项目的复杂程度逐渐增加,可能会涉及诸如高并发、海量数据查询的的业务场景也逐渐增多;若频繁的操作数据库,会触发数据库的I/O瓶颈,因此需要加入缓存,尽量减少直接操作数据库的…

    Linux 2023年6月14日
    099
  • 原码反码补码

    3.1 知识点补充 在计算机内部,所有信息都是用二进制数串的形式表示的。整数通常都有正负之分,计算机中的整数分为无符号的和带符号的。无符号的整数用来表示0和正整数,即自然数;带符号…

    Linux 2023年6月13日
    0117
  • 大数据集群服务启停脚本/常用端口/时间同步

    1、整体启动/停止HDFS start-dfs.sh/stop-dfs.sh 2、整体启动/停止YARN start-yarn.sh/stop-yarn.sh 1、分别启动/停止H…

    Linux 2023年6月8日
    0107
  • Centos 7 升级内核

    【背景说明】 在公司进行部署产品时,发公司内部的服务内核资源并不能满足于产品部署条件,于是我和内核就进行了一场风花雪月般的交互,在操作前,本人小白一枚,就在浩瀚的互联网海洋中搜索升…

    Linux 2023年5月27日
    0115
  • linux挂载文件系统

    当使用光驱等硬件设备时,必须将其挂载到系统中,只有这样Linux才能识别。 1、给虚拟机中centos7系统添加一块新的硬盘,添加以后必须重启centos7才能生效 2、在root…

    Linux 2023年5月27日
    0112
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球