JAVA入门(二)

Wesley13
• 阅读 565

计算机存储数据都是010101这样用二进制存储的,这与我们的生活认知是不一样的,所以我们会把数据分成不同的数据类型,来方便我们进行编程,在底层由高级语言进行编码成二进制来进行与计算机交互。我们常说的字节是一种数据计量单位,1字节=8个计算机位。

计算机编码集

随着计算机的普及与发展,各个国家对自己的语言进行编码,也是就有了许多的编码集。

一般我们比较常见的有:ASCII(美国信息交换标准代码)

GB2312:由中国国家标准总局1980年发布,1981年5月1日开始实施的一套国家标准,标准号是GB 2312—1980。

GBK:汉字内码扩展规范

UTF-8:8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码

ISO-8859-1:ISO-8859-1编码是单字节编码,向下兼容ASCII,其编码范围是0x00-0xFF,0x00-0x7F之间完全和ASCII一致,0x80-0x9F之间是控制字符,0xA0-0xFF之间是文字符号。此字符集支持部分于欧洲使用的语言

Unicode:(统一码、万国码、单一码)是计算机科学领域里的一项业界标准,包括字符集、编码方案等。1990年开始研发,1994年正式公布。

Java的数据类型分两大块:

JAVA入门(二)

首先讲讲基本数据类型吧。

整数类型

[1]十进制

[2]二进制,以0b开头。e.g: 0b10=>21=2

[3] 八进制.以0开始。e.g: 015=> 1x81+5x80 = 15

[4] 十六进制.以0x开始 e.g:0x19= 1x161+9x160 = 29

整型根据其内存长度分为byte、short、int、long类型。

byte 占1个字节

表示的最大的数 1111 1111 => 255

0-255 表示256种状态。因为考虑负数对半分的-128-1;0127  所以byte取值范围为[-128,127]。

short 占2个字节

表示的最大的数 1111 1111  1111 1111 => 216

0-216 表示216+1种状态。因为考虑负数对半分的-215-1;0215-1  所以short取值范围为[-215,215-1]。

其余两种同样道理,有种方法很好记,记住该类型占几个字节,比如n个,那么其取值范围就是[-2的n*8-1次方,2的n*8-1次方再减一]

要注意的是long类型的后面记得加上L以示区分,尽量不要用小写容易和数字1混淆。

浮点类型

浮点型其实就是小数类型,浮点型根据其内存长度分为float、double类型。

float 类型也称为单精度,能精确到6-7位有效数字。第6位一定可以精确到,第7位可能可以精确到。

double 类型也称为双精度,能精确15-16位有效数字。第15位一定可以精确到,第16位可能可以精确到。

浮点数值的默认类型为double类型。想将其变为float类型,就需要在其后面加上F/f。

字符类型

单个字符通过单引号(‘’)引起来的称为字符类型(char)。而由双引号(“”)引起来的0个或者以上内容称为字符串(String).注意其二者的区别哦

e.g:‘A’、‘中’

注意:char类型也可以表示的是unicode编码表中的字符存储转义字符。占****两个字节。

布尔类型

这是一种用于逻辑判断的类型,结果只有两个:true/false,称为布尔值,用boolean表示。

boolean占用一个二进制位。(注意不是字节)

以上就是八大基本类型了。

因为引用类型:数组,类,接口的用法不太一样后面单独再写吧

变量

既然说了数据的基本类型,当然要提提变量也就是标识符的命名规则了。

其实变量本质上是一块内存空间。之所以叫变量是因为其在程序中运行时存储的值可能会变化,故称变量。它也有一个体面的名字叫标识符,标记内存空间嘛。

声明变量:数据类型 变量名 [= 初始值];

e.g:  int apple=10;

变量(标识符)命名规则如下:

[1] 变量名可由字母,数字,_,$构成。

[2] 变量名不能以数字开头

[3] 不能用java的关键字,所谓关键字就是像public,int这些系统已经定义好含义的词

规范:

[1] 驼峰命名法(首个单词都小写,后续具有单个意义的单词首字符大写)e.g:userName

[2] 尽量做到见名知其意,因为有时候程序收要给别人看的,而且自己检查修改程序是也方便。

[3] 类名:首字母大写和驼峰原则 e.g: Man

[4] 常量:全大写 e.g: MAN

常量

常量在程序运行过程中值不能发生变化,所以常量只能在开始定义时初始化一次。用final关键字修饰。

e.g: public  final int AGE=18;

变量的分类

主要有两种一种是局部变量,另一种是成员变量也叫实例变量。

局部变量:在方法或者语句块({})中声明的变量称为局部变量,局部变量必须先声明后赋值再使用。

实例变量:在方法外,类的内部声明的变量称为实例变量。实例变量可赋初始值,也可以不赋初始值。如果不自行初始化,JVM会自动初始化成该类型的默认初始值。

e.g:

数值型变量初始化成0或0.0

字符型变量的初始化值是16位的0 ,也可以写成‘\u0000’

布尔型默认是false

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Stella981 Stella981
2年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Easter79 Easter79
2年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Wesley13 Wesley13
2年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
2年前
Docker 部署SpringBoot项目不香吗?
  公众号改版后文章乱序推荐,希望你可以点击上方“Java进阶架构师”,点击右上角,将我们设为★“星标”!这样才不会错过每日进阶架构文章呀。  !(http://dingyue.ws.126.net/2020/0920/b00fbfc7j00qgy5xy002kd200qo00hsg00it00cj.jpg)  2
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
3个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这