Java基本数据类型

HelloWord程序的讲解

public、class、static void 为关键字,固定写法;
HelloWord 为类名,可以任意写;
main 为函数或方法名,每个程序都有一个main函数做为入口,如同房间,需要有个门一样;
main 方法后面括号的内容称为参数;
System.out.println(“HelloWord”) 向控制台输入内容;
注意:类名第一个字母要使用大写,花括号是成对出现的;

常量的概述和使用
在程序执行的过程中其值不可以发生改变。
Java中常量的分类:
1.字面值常量
2.自定义常量(面向对象部分讲)
字面值常量的分类:
1.字符串常量 用双引号括起来的内容
2.整数常量 所有整数
3.小数常量 所有小数
4.字符常量 用单引号括起来的内容,里面只能放单个数字,单个字母或单个符号
5.布尔常量 较为特殊,只有true和false
6.空常量 null【数组部分讲解】

进制概述和二,八,十,十六进制
1.什么是进制?
进制是一种进位方法。 对于任何一种进制–X进制,就表示某一位置上的数运算时逢X进一位。
2.不同进制数据的Java表现形式
二进制的数据表现形式 —由0,1组成。以0b(b可以写大小写)开头 2 = 10
八进制的数据表现形式 — 由0,1,…7组成。以0开头 【8 = 10】
十进制的数据表现形式 — 由0,1,…9组成。整数默认是十进制的 【10 = 10】
十六进制的数据表现形式 — 由0,1,…9,a,b,c(大小写均可)。以0x开头 【16 = 10】
注意:只有JDK1.7版本以上可以使用0b2 来表示二进制。
二进制
在计算机中,只能识别二进制的数据,二进制就是0和1来表示的。
一个字节有8个比特位(1byte=8bit),字节是数据存储的基本单位。
数据存储单位计算:
1byte=8bit(比特)
1kb = 1024byte
1M = 1024kb
1G = 1024M
1T = 1024G

原码反码补码
有符号数据表示法的几种方式:
1.原码
就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。
通过一个字节,也就是8个二进制位表示+7和-7
0(符号位) 0000111
1(符号位) 0000111
2.反码
正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。
3.补码
正数的补码与其原码相同;负数的补码是在其反码的末位加1。

变量的概述及格式
1.什么是变量?
在程序执行的过程中,在某个范围内其值可以发生改变的量。
2.变量的定义格式,【如同数据方程式x,y,z,求值】
数据类型 变量名 = 变量值;
byte b = 127;
3.为什么要定义变量?
用来不断的存放同一类型的常量,并可以重复使用。

数据类型的概述和分类
1.为什么有数据类型?
Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型;
每一种数据类型在内存中分配了不同大小的内存空间;
这样做是为了充分高效的利用内存空间;
2.Java中数据类型的分类
基本数据类型
引用数据类型 (面向对象部分讲解 )
3.基本数据类型分类(4类8种)
整数型:
byte 占一个字节 -2^7 ~ 2^7-1【-128~127】
short 占两个字 -2^15 ~ 2^15-1【-32768~32767】
int 占四个字节 -2^31 ~ 231-1【-231=2147483647】
long 占八个字节 -2^63 ~ 263-1【-263=9223372036854775807】
浮点型:
float 单精度 占四个字节 -3.403E38~3.403E38
double 双精度 占八个字节 -1.798E308~1.798E308
字符型:char 占两个字节 0~65535
布尔型:boolean java中boolean类型没有明确指定他的大小

4.基本数据类型-整数型声明
byte a = 127;//字节型 占1个字节,取值范围必需在-128 - 127
System.out.println(a);

short b = -32768;//短整型 占2个字节-215~215-1 (32767)
System.out.println(b);

int c = -2147483648;//int型 占4个字节,-231~231-1 (2147483647)
System.out.println©;

//写长整型时,加个L标识,可以写小写的l,但小写的l像一,不建议写
long d = -9223372036854775807L;//int型 占8个字节 -263~263-1 (9223372036854775808)
System.out.println(d);

5.基本数据类型之浮点型的声明
float(单精度:表示的小数点的个数比较少) 取值范围:-3.403E38~3.403E38
double(双精度:表示的小数点的个数比较多)取值范围:-1.798E308~1.798E308

  1. 单精浮点数占四个字节,双精浮点数占八个字节;
  2. 3.403E+38 表示的数是3.403×10的38次方;
  3. 单精度型使用F标识,不加F,默认就是双精度;

float e = 1.87312343F;//单精度型使用F标识;
double f = 33.123456789012345678;//双精度型不用加任何标识,只要有小数点;
System.out.println(e);
System.out.println(f);

6.基本数据类型之布尔型声明
布尔值只有真和假
boolean b1 = true;
boolean b2 = false;
System.out.println(b1);
System.out.println(b2);

基本数据类型定义的注意事项:
赋值时候注意float类型,long类型,加大写的F和L;
作用域问题:同一个区域不能使用相同的变量名;
初始化值问题:局部变量在使用之前必须赋值;
一条语句可以定义几个变量 eg: int a,b,c…

数据类型转换之隐式转换与强制转换**
Java中的默认转换规则
取值范围小的数据类型与取值范围大的数据类型进行运算,会先将小的数据类型提升为大的,再运算;
Java的运算是以补码形式运算的;

进行混合运算的时候,byte,short,char不会相互转换,都会自动类型提升为int类型;

byte,short,char与其他类型进行混合运算的是小的数据类型提升为大的;

字符
字符是指计算机中使用的字母、数字、字和符号,包括:1、2、3、A、B、C、~!·#¥等。
在 ASCII 编码中,一个英文字母字符存储需要1个字节。
在 GB2312 编码或 GBK 编码中,一个汉字字符存储需要2个字节。
在 UTF-8编码中,一个英文字母存储需要1个字节,一个汉字储存需要3到4个字节。

程序员的表白
public class Demo {
public static void main(String[] args) {
char c1 = 73;
char c2 = 76;
char c3 = 111;
char c4 = 118;
char c5 = 101;
char c6 = 89;
char c7 = 111;
char c8 = 117;
System.out.print(c1);
System.out.print(c2);
System.out.print(c3);
System.out.print(c4);
System.out.print(c5);
System.out.print(c6);
System.out.print(c7);
System.out.print(c8);
}
}

字符的相加
字符相加会把字符对应的ascii数字相加

记住ASCII码的三个值:
‘0’ 48
‘A’ 65
‘a’ 97

字符与字符串相加

面试题:
Java语言中的字符char可以存储一个中文汉字吗?为什么呢?
可以。因为Java语言采用的是Unicode编码。Unicode编码中的每个字符占用两个字节。中文也是占的两个字节,utf-8编码是unicode中的一种编码,所以,Java中的字符可以存储一个中文汉字
注:可以把编码类型改成ascii再打印中文给学生看,讲解为什么

GBK编码 : 只能显示简体中文
GB2312编码:只能显示简体、繁体中文
Unicode编码:不仅可以存中文,还有可存日文,韩文(万国码)
-UTF-8 (万国码)
-UTF-16

Unicode码
Unicode是一种字符集,中、日、韩的三种文字占用了Unicode中0x3000到0x9FFF的部分;
Unicode采用的是UCS-2,用两个字节表示一个字符,2的16次方等于65536,最多能编码65536个字符;
比如汉字“经”的编码是0x7ECF (字符码一般用16进制表示),转换成10进制就是32463;
unicode编码从0到127的字符与ASCII编码的字符一样;
比如:字母"a"的Unicode 编码是0x0061,十进制是97;
而"a"的ASCII编码是0x61,十进制也是97;
对于汉字的编码,事实上Unicode对汉字支持不怎么好,因为简体和繁体总共有六七万个汉字,而UCS-2最多能表示65536个,才六万多个,
所以Unicode只能排除一些几乎不用的汉字;好在常用的简体汉字 也不过七千多个,为了能表示所有汉字,Unicode也有UCS-4规范,就是用 4个字节来编码字符。
UTF-8编码
UTF-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,又称万国码。项目开发中常用utf-8;
查看部分unicode码表:
http://baike.baidu.com/item/Unicode字符列表/12022016?sefr=cr
在线unicode码转换:
网址: http://tool.chinaz.com/tools/unicode.aspx
演示a的unicode \u0061 0x61
演示中的unicode \u4e2d
熟记中文在unicode的范围 \u4E00-\u9FA5 19968 ~ 40869

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值