JAVA入门级教学之(数据类型)

目录

 

JAVA入门级教学之(数据类型)

 

1、数据类型的作用是什么?

2、java中的数据类型包括两种:

3、关于基本数据类型:

4、注意:字符串"abc"不属于基本数据类型,属于【引用基本类型】,字符属于基本数据类型

5、八种数据类型各自占用的空间大小是多少?

6、计算机在任何情况都只能识别二进制

7、什么是二进制?

8、字节【byte】:

9、整数型当中的byte类型,占用1个字节,所以byte类型的数据占用8个比特位。那么byte类型的取值范围是什么?

10、二进制和十进制之间的转换规则:

11、计算机只认识二进制,那么计算机是怎么表示现实世界中的文字呢?

           到底什么是编码?

           乱码的根本原因:


 

JAVA入门级教学之(数据类型)

 

1、数据类型的作用是什么?

     程序中有很多数据,每一个数据都是有相关类型的,不同数据类型的数据占用空间是不同的

数据类型的作用:是指导JVM在运行程序的时候给该数据分配多大的内存空间

    

2、java中的数据类型包括两种:


          2.1基本数据类型

          2.2引用数据类型【后面讲】

 

3、关于基本数据类型:

          * 基本数据类型包括四大类八小种
                第一类:整数型
                        byte、short、int、long
                第二类:浮点型
                        float、double
                第三类:布尔型
                        boolean
                第四类:字符型
                        char

 

4、注意:字符串"abc"不属于基本数据类型,属于【引用基本类型】,字符属于基本数据类型


                *字符串使用双引号引住"abc"
                *字符使用单引号引住'a'


       
5、八种数据类型各自占用的空间大小是多少?


          基本数据类型       占用空间大小【单位:字节】
          ---------------------------------------------
          byte                       1
          short                      2
          int                          4
          long                       8
          float                       4            
          double                   8             
          boolean                 1
          char                       2
       


6、计算机在任何情况都只能识别二进制

          例如:只认识100101010.....
          现代计算机底层采用交流电的方式,接通和断开就两种状态,计算机只识别1或0,其它不认识

 

7、什么是二进制?


          *数据的一种表示形式。十进制表示满十进一原则。二进制表示满二进一原则。

          例如:十进制
                     0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20....
                
                     二进制
                     0 1 10 11 100 101 110 111 1000 1001.... 


                    分别代表:
                    0 1 2  3  4   5   6   7   8    9

 

8、字节【byte】:


           1 byte = 8 bit 【1个字节=8个比特位】 【1个比特位表示一个二进制位 1/0】
           1 KB   = 1024 byte
           1 MB   = 1024 KB
           1 GB   = 1024 MB
           1 TB   = 1024 GB

           所以 1 TB=1024*1024*1024*1024*8 bit

 

9、整数型当中的byte类型,占用1个字节,所以byte类型的数据占用8个比特位。那么byte类型的取值范围是什么?


         
         * 关于java中的数据类型,数字都是有正负之分的,所以在数字的二进制中有一个二进制位被称为"符号位"

           并且这个"符号位"在所有二进制位的最左边,其中【0表示正数,1表示负数】

byte类型的最大值:01111111
                              【10000000(二进制) - 1】
                                即:2的7次方-1,结果是:128-1=127

byte类型的最小值:-128【涉及到位运算,原码、反码、补码的运算】

         * byte类型可以表示256个不同的数字【因为0-127包括0】【256个不同的二进制】

 

 

10、二进制和十进制之间的转换规则:


          *二进制转换为十进制:
                         例如:1001-->2^0+2^3=9

          *十进制转换为二进制:
                         例如:33-->就是32+1-->就是用33整除2,最后再逆序数数字排序就行

 


11、计算机只认识二进制,那么计算机是怎么表示现实世界中的文字呢?

 

前提引入:

            八种基本数据类型中:byte、short、int、float、double、boolean这7种
            数据类型计算机在表示的时候计较容易,因为底层都是数字,十进制的数字
            和二进制数字之间存在一种固定的转换规则。

          但是八种数据类型中的char类型表示的是现实世界的文字,文字和计算机的
            二进制之间默认情况下是不存在任何转换关系的。

          为了让计算机可以表示现实世界当中的文字,我们需要进行人为的干涉,
            负责提前制定好"文字"和"二进制"之间的对照关系,这种对照关系被称为 字符编码

          * 计算机最初只支持英文,最先出现的字符编码是:ASCII码【采用一个字节编码】
            例如:'a'--> 97【01100001】
                       'A'--> 65
                       '0'--> 48

                  'a'-->(按照ASCII解码)-->01100001
                  0110001--->(按照ASCII编码)-->'a'

                  编码和解码的时候采用同一套字典/对照表,不会出现乱码

                  当解码和编码的时候采用的不是同一套对照表,会出现乱码问题

 

           到底什么是编码?

              就是人类规定的字典给计算机识别人类

 

          乱码的根本原因:

            是解码和编码的时候采用的不是同一套字典

 

          * 随着计算机的发展,后来出现了一种编码方式,是国际化标准组织ISO制定的,
            这种编码方式支持西欧语言,向上兼容ASCII码,仍然不支持中文。这种编码方式
            是:ISO-8859-1,又被称为latin-1(拉丁-1)

          * 随着计算机向亚洲发展,计算机开始支持中文、日文、韩文等国家文字,其中支持
            简体中文的编码方式有:
                                 GB2312<GBK<GB18030
            
          * 支持繁体中文:大五码<big5>

          * 后来出现了一种编码方式统一了全球所有文字,容量较大,这种编码方式叫做:

            unicode编码:unicode编码方式有多种具体的实现:

                        — UTF-8【一般使用UTF-8编码方式】
                        — UTF-16
                        — UTF-32

          * java语言采用的是哪一种编码方式呢?
            
            java语言源代码采用的是unicode编码方式,所以"标识符"可以用"中文"

            //class 学生/日文/中文...
            {
            }
            //编译成功

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/501634.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql存储过程中as_mysql - 存储过程mySQL语法错误意外“ AS” - 堆栈内存溢出

我正在编写一个存储过程&#xff0c;如下所示我得到的错误是在第3行和第4行&#xff0c;这两个错误是第3行是“意外的发布者标识符”&#xff0c;第4行是“意外的AS(as)”&#xff0c;但我不知道我是怎么得到这些错误或如何解决的他们。 有人可以解释一下为什么我收到这些错误以…

JAVA入门级教学之(char类型)

java程序主要讲解的数据类型之&#xff1a;char类型【占用2个字节】 public class DateTypeTest02 {public static void main(String[] args){//定义一个char类型的变量&#xff0c;起名c&#xff0c;同时赋值字符achar ca;System.out.println(c);//a//一个中文占用2个字节,所…

JAVA入门级教学之(整数型)

关于java语言中的整数型: 数据类型 占用空间大小 默认值 取值范围byte 1 0 【-128-127】 short 2 0 【-32768-32767】 int…

mysql事务编号_Mysql事务

一&#xff1a;mysql事务1.需求从orders表中查询最新的销售订单编号&#xff0c;并使用下一个销售订单编号作为新的销售订单编号。在指定客户的orders表中插入新的销售订单。将新的销售订单项目插入orderdetails表中。从orders表和orderdetails中获取数据以确认更改。如果由于数…

JAVA入门级教学之(浮点型数据类型)

/* 关于浮点型数据类型: float 单精度 【4个字节】 double 双精度 【8个字节&#xff0c;精度较高&#xff0c;默认double】 double的精度太低【相对来说的】&#xff0c;不适合做财务软件 财务涉及到钱的问题&#xff0c;要求精度较高&#xff0c;所以SUN在基础SE类库当中 为…

java try catch 例子_java try catch

try catch机制非常好。那些觉得try catch不行的人&#xff0c;是他们自己的水平有问题&#xff0c;无法理解这种机制。并且这群人写代码不遵守规则&#xff0c;喜欢偷懒&#xff0c;这才造成try catch不好的错觉。详细解释&#xff1a;1.程序要健壮&#xff0c;必须要设计报错机…

JAVA入门级教学之(布尔型数据类型)

/* 关于布尔型数据类型&#xff1a; boolean 在java语言中boolean类型只有两个值&#xff1a;true、false&#xff0c;没有其它值 不像c语言中&#xff0c;0和1可以表示假和真 在底层存储的时候boolean类型占用1个字节&#xff0c;因为实际存储的时候false底层是0,true底层是1…

java 自动生成文档_[原]java开发文档的自动生成方式

对于Java注释我们主要了解三种&#xff1a;// 注释一行/* ...... */ 注释若干行第三种&#xff0c;文档注释&#xff1a;/** ...... */ 注释若干行&#xff0c;并写入 javadoc 文档通常这种注释的多行写法如下&#xff1a;/*** .........* .........*/很多人多忽视了这第三种注…

JAVA入门级教学之(数据转换规则)

/* 关于基本数据之间的互相转换&#xff1a;转换规则 1、八种基本数据类型中**除布尔类型之外**剩下的7种类型之间都可以互相转换2、小容量向大容量转换&#xff0c;称为自动类型转换&#xff0c;容量从小到大排序如下&#xff1a;-byte<short<int<long <float<…

java程序员面试技术_java程序员面试应该具备的一些基本技能

这里列举一些Java程序员面试应该要具备的一些基本技能&#xff0c;仅当参考。1.基本语法包括static、final、transient等关键字的作用&#xff0c;foreach循环的原理等等。越简单的问题越能看出一个人的水平&#xff0c;别人对你技术的考量绝大多数都是以深度优先、广度次之为标…

JAVA入门级教学之(算数运算符)

/*3.运算符 *算数运算符 *关系运算符 *逻辑运算符 *字符串连接运算符 *三元运算符 *赋值类运算符 */ /* 关于java编程中运算符之&#xff1a;算数运算符 求和 - 相减 * 乘积 / 商 % 求余取模 自加1 -- 自减1 注意&#xff1a;一个表达式中如果有多个运算符&#xf…

web api教程Java_WebApi项目创建CURD

WebApi1.创建实体类public class Contact{public string Id { get; set; }public string Name { get; set; }public string Phone { get; set; }public string Email { get; set; }public DateTime LastModified { get; set; }}2.操作实体类接口public interface IContactRepos…

JAVA入门级教学之(关系运算符)

/* 关系运算符&#xff1a;比较的是两个变量保存的值的大小 大于 大于等于 < 小于 < 小于等于 等于 &#xff01; 不等于 是赋值运算符 是关系运算符 关系运算符的运行结果一定是布尔类型&#xff1a;true/false */ public class OperatorTest02 {public static v…

guid java_JAVA实现生成GUID的方法

JAVA实现生成GUID的方法GUID是一个128位长的数字&#xff0c;一般用16进制表示。算法的核心思想是结合机器的网卡、当地时间、一个随即数来生成GUID。从理论上讲&#xff0c;如果一台机器每秒产生10000000个GUID&#xff0c;则可以保证(概率意义上)3240年不重复。复制代码 代码…

JAVA入门级教学之(逻辑(布尔)运算符)

/*逻辑(布尔)运算符&#xff1a; & 逻辑与 (两边的算子都是true&#xff0c;结果才是true) | 逻辑或 (两边的算子只要有一个是true&#xff0c;结果就是true) ! 逻辑非 (取反) ^ 逻辑异或(两边的算子只要是不一样的&#xff0c;结果就是reue) && 短路与 ||…

JAVA入门级教学之(赋值运算符)

/* 赋值运算符 字符串连接运算符 三目运算符/三元运算符/条件运算符 关于JAVA中的赋值类运算符&#xff1a; 赋值类运算符包括两种&#xff1a; *基本的赋值运算符 *扩展的赋值运算符 - * / % 1.赋值类的运算符优先级&#xff1a;先执行等…

java xss 默认值_一台 Java 服务器可以跑多少个线程?

原标题&#xff1a;一台 Java 服务器可以跑多少个线程&#xff1f;转自&#xff1a;简书&#xff0c;作者&#xff1a;新栋BOOK一台Java服务器能跑多少个线程&#xff1f;这个问题来自一次线上报警如下图&#xff0c;超过了我们的配置阈值。京东自研UMP监控分析打出jstack文件&…

mysql引擎inndbmmyisam_Mysql中MyISAM引擎和InnoDB引擎的比较

结论如果不清楚自己应该用什么引擎&#xff0c;那么请选择InnoDB&#xff0c;Mysql5.5的版本默认引擎都是InnoDB&#xff0c;早期的Mysql版本默认的引擎是MyISAMMyISAM 和 InnoDB的适用场景MyISAM适合&#xff1a;(1)做很多count 的计算&#xff1b;(2)插入不频繁&#xff0c;查…

JAVA入门级教学之(连接运算符)

/*关于字符串的连接运算符 关于java中的""运算符&#xff1a; 1.加号运算符在java语言中有两个作用&#xff1a; *加法运算&#xff0c;求和 *字符串的连接运算 2.当""运算符两边的数据都是数字的话&#xff0c;一定是进行加法运算。 3.当"…

java android aes加密解密_AES加密解密在JAVA和ANDROID下互通

昨天外包安卓的那个人说AES的加解密结果不一样。于是百度搜索发现还真是!贴上AES加密核心&#xff1a;Cipher cipher Cipher.getInstance("AES/CBC/PKCS5Padding");cipher.init(Cipher.ENCRYPT_MODE, key, zeroIv);CBC是工作模式&#xff0c;AES一共同拥有电子passw…