java基础学习03,java基础程序设计

零基础学习java:变 量(生机勃勃),基础java

java基础学习,java基础

int和Integer有何样界别?
答:Java是四个相像圣洁的面向对象编制程序语言,但是为了编程的惠及依然引入了骨干数据类型,可是为了能够将那几个骨干数据类型当成对象操作,Java为每八个骨干数据类型都引进了对应的卷入等级次序(wrapper
class),int的包裹类正是Integer,从Java
5开头引进了全自动装箱/拆箱机制,使得双方能够相互调换。
Java 为各样原始类型提供了包装等级次序:

java基础程序设计

java基础程序设计

 

后生可畏、变量的概念:

(1)内部存款和储蓄器中的一个储存区域

(2)该区域有和好的名目(变量名)和项目(数据类型)

(3)Java中各样变量必得先注脚,后选用

(4)该区域的数额可以在同风姿罗曼蒂克品种范围内连发变化 

行使变量注意:

(1)变量的功效域:风流倜傥对{ }之间有效 

(2)开头化值 

概念变量的格式:数据类型    变量名  =  开始化值

二、变量的归类——按数据类型

对于每黄金时代种多少都定义了令人瞩指标具体数据类型,在内存中分红了分化尺寸的内存空间。

 亚洲城电脑版官方网站 1

1、整数类型:byte、short、int、long

Java各整数类型有固定的表数范围和字段长度,不受具体OS的熏陶,以保险java程序的可移植性。

java的整型常量默感到 int 型,注脚long型常量须后加‘l’或‘L’

 亚洲城电脑版官方网站 2

 

2、浮点类型:float、double

(1)与整数类型相近,Java
浮点类型也许有稳固的表数范围和字段长度,不受具体OS的熏陶

(2)Java 的浮点型常量默以为double型,评释float型常量,须后加‘f’或‘F’。

(3)浮点型常量有两种象征方式:

    十进制数格局:如:5.12       512.0f        .512  (必需有小数点)

    科学计数法方式:如:5.12e2      512E2    100E-2

 亚洲城电脑版官方网站 3

 

3、字符类型:char

char 型数据用来代表日常意义上“字符”(2字节)

字符型常量的两种表现方式:

(1)字符常量是用单引号(‘’)括起来的单个字符,蕴涵世界上独具书面语的字符。比如:char
c1 = ‘a’;   char c2 = ‘中’; char c3=  ‘9’;

(2)Java中还允许使用转义字符‘\’来将其后的字符转换为特殊字符型常量。举例:char
c3 = ‘\n’;  // ‘\n’表示换行符

(3)直接采纳 Unicode值来代表字符型常量:‘\uXXXX’。此中,XXXX代表贰个十一进制整数。如:\u000a表示\n。

(4)char类型是足以扩充览演出算的。因为它都对应当Unicode码

4、字符编码

(1)ASCII 码

在管理器内部,全数数据都选用二进制表示。每八个二进制位(bit)有 0 和 1 三种景况,由此 8 个二进制位就足以组合出 256 种景况,那被称为二个字节(byte)。二个字节意气风发共能够用来代表 256 种区别的动静,每二个情景对应二个标识,就是 256 个标记,从 0000000 到 11111111。 

ASCII码:上个世纪60年份,美利哥制订了风流洒脱套字符编码,对英文字符与二进制位之间的涉嫌,做了合併规定。那被誉为ASCII码。ASCII码风姿罗曼蒂克共规定了1贰十九个字符的编码,比方空格“SPACE”是32(二进制00100000),大写的字母A是65(二进制01000001)。那1二十六个标识(包蕴31个不能够打印出来的垄断符号),只占用了贰个字节的前边7位,最终边的1位统生机勃勃鲜明为0。

 

(2)Unicode编码

乱码:世界上存在着冒尖编码格局,同三个二进制数字能够被阐述成分歧的标志。由此,要想张开三个文件文件,就必得理解它的编码格局,不然用错误的编码格局解读,就能够并发乱码

 

Unicode:风华正茂种编码,将世界上保有的符号都归入个中。每三个标识都予以四个天下无双的编码,使用 Unicode 未有乱码的主题材料。

 

Unicode 的欠缺:Unicode 只是贰个符号集,它只规定了符号的二进制代码,却未有明确那些二进制代码应该怎么存款和储蓄:不恐怕区分Unicode和ASCII:Computer不能区分四个字节表示三个标志依旧个别代表四个暗记。

(3)UTF-8:

UTF-8 是在互联互连网运用最广的大器晚成种 Unicode的落到实处方式。

UTF-8 是意气风发种变长的编码形式。它能够采取 1-6 个字节表示四个符号,依照区别的标识而变化字节长度。

UTF-8的编码准则:

  对于单字节的UTF-8编码,该字节的参天位为0,别的7位用来对字符进行编码(等同于ASCII码)。

亚洲城电脑版官方网站,  对于多字节的UTF-8编码,就算编码满含 n 个字节,那么首先个字节的前n 位为1,第一个字节的第 n+1 位为0,该字节的结余各位用来对字符进行编码。在第三个字节之后的富有的字节,都是参天两位为”10″,别的6位用来对字符举办编码。 

 

java基础学习03,java基础程序设计。5、布尔类型:boolean

boolean 类型适于逻辑运算,日常用来程序流程序调整制

if条件决定语句

while循环调整语句

do-while循环调整语句;

for循环调整语句 

boolean类型数据只同意取值true和false,无null。

不行以0或非 0 的整数代替false和true,那点和C语言差别

案例

//变量:基本数据类型(8个) vs 引用数据类型(类、接口、数组)

//1.java中的变量定义的格式:数据类型 变量名 = 伊始化值

class TestVeriable {

    publicstaticvoid main(String[] args) {

       //2.变量得先定义,后接收

       int myInt1 = 10;

       double d = 12.3;

      

       System.out.println(myInt1);

        System.out.println(myInt1 + d);

       //i1超出了其效能的限量,不可利用。

       //System.out.println(i1);

 

       //3.整型:byte(-128~+127)  short int(默许类型) long

       byte b1 = 12;

       //byte b2 = 128;

       short s1 = 128;

       int i1 = 12;

       //定义long型变量,值的末尾加“L”或“l”

       long l1 = 2134123351345325L;

       System.out.println(l1);

 

       //4.浮点型(带小数点的数值):float   double(私下认可类型)

       double d1 = 12.3;

       //注脚float类型的浮点型数据,末尾要加“F”可能“f”

       float f1 = 12.3F;

       System.out.println(f1);

 

       //5.字符型(=四个字节):char 只可以表示三个字符(土耳其共和国(Türkiye Cumhuriyeti)语、普通话、标点符号、印度语印尼语、。。。)

       char c1 = ‘a’;

       //char c2 = ‘ab’;

       String str = “ab”;

       char c3 = ‘中’;

       String str1 = “中国”;

       //能够象征转义字符

       char c4 = ‘\t’;

       char c5 = ‘\n’;

       System.out.println(“abc” + c5 + “def”);

       //了解

       char c6 = ‘\u1234’;

       System.out.println(c6);

 

       //6.布尔类型:boolean  只好够取值为true 或 false 。不能够取值null

       boolean bool1 = true;

       if(bool1){

           System.out.println(“今日是周四”);

       }else{

           System.out.println(“几日前明显是星期六!”);

       }

 

    }

 

    publicvoid method1(){

       int i1 = 10;

       System.out.println(i1);

    }

}

尚学堂让您零基础学习JAVA不用愁,带你进去IT这几个玄妙的世界!

 

量(黄金年代),基础java
大器晚成、变量的概念: (1)内部存款和储蓄器中的贰个仓库储存区域
(2)该区域有自身的称号(变量名)和花色(数据…

– 原始类型: boolean,char,byte,short,int,long,float,double

包装档案的次序:Boolean,Character,Byte,Short,Integer,Long,Float,Double

 

class AutoUnboxingTest {

public static void main(String[] args) {
Integer a = new Integer(3);
Integer b = 3; // 将3机关装箱成Integer类型
int c = 3;
System.out.println(a == b); // false 多少个引用未有援用同大器晚成对象
System.out.println(a == c); // true a自动拆箱成int类型再和c相比
}
}

自动装箱和拆箱点关系的吸引解析,代码如下所示:

public class Test03 {

public static void main(String[] args) {
Integer f1 = 100, f2 = 100, f3 = 150, f4 = 150;

System.out.println(f1 == f2);
System.out.println(f3 == f4);
}
}

黄金年代经不知所以相当轻便感到五个出口要么都以true要么都以false。首先必要在意的是f1、f2、f3、f4多个变量都以Integer对象引用,所以下边包车型大巴==运算相比较的不是值而是援引。装箱的真面目是何许呢?当我们给三个Integer对象赋一个int值的时候,会调用Integer类的静态方法valueOf,如若看看valueOf的源代码就精通产生了什么样。

public static Integer valueOf(int i) {
if (i >= IntegerCache.low && i <= IntegerCache.high)
return IntegerCache.cache[i + (-IntegerCache.low)];
return new Integer(i);
}

IntegerCache是Integer的中间类,其代码如下所示:

/**
* Cache to support the object identity semantics of autoboxing for
values between
* -128 and 127 (inclusive) as required by JLS.
*
* The cache is initialized on first usage. The size of the cache
* may be controlled by the {@code -XX:AutoBoxCacheMax=<size>}
option.
* During VM initialization, java.lang.Integer.IntegerCache.high
property
* may be set and saved in the private system properties in the
* sun.misc.VM class.
*/

private static class IntegerCache {
static final int low = -128;
static final int high;
static final Integer cache[];

static {
// high value may be configured by property
int h = 127;
String integerCacheHighPropValue =
sun.misc.VM.getSavedProperty(“java.lang.Integer.IntegerCache.high”);
if (integerCacheHighPropValue != null) {
try {
int i = parseInt(integerCacheHighPropValue);
i = Math.max(i, 127);
// Maximum array size is Integer.MAX_VALUE
h = Math.min(i, Integer.MAX_VALUE – (-low) -1);
} catch( NumberFormatException nfe) {
// If the property cannot be parsed into an int, ignore it.
}
}
high = h;

cache = new Integer[(high – low) + 1];
int j = low;
for(int k = 0; k < cache.length; k++)
cache[k] = new Integer(j++);

// range [-128, 127] must be interned (JLS7 5.1.7)
assert IntegerCache.high >= 127;
}

private IntegerCache() {}
}

简单来说,如若整型字面量的值在-128到127之内,那么不会new新的Integer对象,而是径直援用常量池中的Integer对象,所以地点的f1==f2的结果是true,而f3==f4的结果是false。

 

int和Integer有啥样界别?
答:Java是三个看似圣洁的面向对象编制程序语言,不过为了编制程序的有益依旧引进了主导数据类型…

大器晚成、实现的靶子

1. 掌握java中的数据类型划分
2. 8种基本数据类型的使用及数据类型转换
3. 位运算、运算符、表达式
4. 判断、循环语句的使用
5. break和continue的区别

大器晚成、落成的目的

1. 掌握java中的数据类型划分
2. 8种基本数据类型的使用及数据类型转换
3. 位运算、运算符、表达式
4. 判断、循环语句的使用
5. break和continue的区别

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图