JAVA学习笔记(一) - 基本数据类型

基本数据类型

基本数据类型-定点型

package com.itany.basejava.day02.demo01;
/*
 * 基本数据类型-定点型
 */
public class Test
{
    public static void main(String[] args)
    {
        //1-整型常量值默认的类型是int;如果声明的变量的类型为byte,short,char时,后面为这三个类型的变量
        //赋值时,如果常量值在这三个变量表示的范围内,则int类型的常量会自动转换成byte,short,char,并赋值。
        byte b = 10;
        short s = 20;
//      byte bb = 128;//报错,128超过了byte表示的范围,而此时,无法将int类型的128常量自动转换成byte类型
//      short ss = 65535;//Type mismatch: cannot convert from int to short

        //2-如果使用整型常量为long类型的变量赋值,则整型常量会自动转换成long类型。
        long ll = 200;//此时,200常量为int类型,该int常量会自动向上转换成long类型,再赋值
        //在整型常量后加上L或l,则该常量表示long类型的常量,用8个字节存储。
        long l = 40L;

        //3-如果常量的值超过了int类型表示的范围,则会报错。
//      int xx = 11111111111111111;
        long xx = 11111111111111L;

        int i = 30;
    }
}

基本数据类型-char型

/*
 * 基本数据类型-char
 */
public class Test
{
    public static void main(String[] args)
    {
        char c1 = ‘a‘;
//      char c2 = ‘‘;//要求字符常量必须是‘‘中有一个字符
//      char c3 = ‘abc‘;
        char c4 = ‘中‘;

        //字符在内存中,也是以数值进行存储的。
        //整型常量97属于char表示的范围内,则97会自动转换成char类型,赋值。
        char c5 = 97;
        System.out.println(c5);

        //char类型既然是以数值存储,则可以参与数值运算。如果参与元算,则使用的是字符对应的数值
        int x = c1 + 1;
        System.out.println(x);

        //转义字符---- \字符
        //特殊的字符->普通字符
        //‘ "   \
        System.out.println(‘\‘‘);
        System.out.println(‘\\‘);
        System.out.println("\"");
        //普通字符->特殊含义字符
        System.out.println("xxxxxxx");
        System.out.println("aaaaaa\nbbbbbbbbbb");
        System.out.println("xxxxxx\tyyyyyyyy");
        //\r 回车,\n 换行, \t 制表符
    }
}

基本数据类型-浮点型,布尔型

/*
 * 基本数据类型-浮点型,布尔型
 */
public class Test
{
    public static void main(String[] args)
    {
        //浮点型变量的定义
        double d = 10.0;
//      float ff = 10.0;//Type mismatch: cannot convert from double to float
        float f = 10.0F;//10.0f或10.0F表示该常量为float类型。

        //浮点型表示形式
        double dd1 = 10.0;
        double dd2 = 1.0e2;//科学计数法
        double dd3 = 1.0E23;//1.0*10的23次方
        double dd4 = 1.0e-23;
        double dd5 = .12e-10;

        double dd6 = dd1;
        //java中无法表示1/10,如果需要具体表示一个小数,则使用BigDecimal类
        System.out.println(1.0 - 0.9);

        //boolean,默认为false
        boolean flag = true;
        flag = false;
    }
}

特殊的引用类型

特殊的引用类型-String

/*
 * 特殊的引用类型-String
 */
public class Test
{
    public static void main(String[] args)
    {
        String s1 = "";
        String s2 = "a";
        String s3 = "abcdef";

        int i = 10;
        String s = "abc";

        i = 100;//重新为i所指向的内存空间赋值
        s = "efg";

        System.out.println(i);//100
        System.out.println(s);//efg
    }
}

类型转换规则

类型转换规则:基本数据类型

/*
 * 类型转换规则:基本数据类型
 */
public class Test
{
    public static void main(String[] args)
    {
        //1-boolean不能与任何基本数据类型转换

        //2-byte,short,char一般不互相转换。如果参与其他运算,会先自动转换成int类型,再运算.
        byte b1 = 10;
        short s1 = 20;
        char c1 = ‘a‘;

        byte b2 = 10;
        byte b3 = 20;
//      byte b4 = 30;//30为常量,在byte类型表示的范围内,所以可以int自动转换成byte
        //b2和b3会先自动转换成int类型,然后相加。此时,即使结果在byte表示的范围内,也无法自动转换成byte类型
        //因为此时是变量相加,结果不确定。
//      byte b4 = b2 + b3;

//      int sum1 = b1 + 1;
        int sum = b1 + s1 + c1;

        //3-任何基本数据类型,都可以与String相加.基本类型会先转换成String,与String类型相加.
        String str1 = "aaa";
        String str2 = "bbb";
        String str3 = "ccc";
        //字符串通过+,进行拼接。
        String str = str1 + str2 + str3;
        System.out.println(str);//aaabbbccc
//      System.out.println(str - str1);
        int i2 = 1000;
        long l2 = 11111L;
        float f2 = 10.0F;
        double d2 = 20.123;
        boolean bool = true;
        char c2 = ‘a‘;
        System.out.println("10" + i2);//"10" + "1000" -> "101000"
        System.out.println(str1 + i2);//
        System.out.println(str1 + l2);
        System.out.println(str1 + f2);
        System.out.println(str1 + d2);//"aaa" + "20.123"->
        System.out.println(str1 + bool);//"aaa" + "true"->"aaatrue"
        System.out.println(str1 + c2);//"aaa" + "a"->aaaa
    }
}

基本数据类型转换

/*
 * 基本数据类型转换
 */
public class Test
{
    public static void main(String[] args)
    {
        //4-类型自动转换(隐式转换):字节数小的可以自动转换成字节数大。
        byte b1 = 10;
        short s1 = b1;
        int i1 = s1;
        long l1 = i1;
        float f1 = l1;
        double d1 = l1;

//      5-类型强制转换(显式转换),如果字节数大的转换成小的,必须强制转换。强制转换,有可能发生数据溢出,造成错误。
//      type1  t = (type1)值;
        byte b2 = (byte)i1;
        int i2 = (int)l1;
        //注意是否会造成数据溢出。
        int i3 = 200;
        byte b3 = (byte)i3;

//      如果是浮点型的数据转换成整型,则会出现截尾操作。
        float f2 = 10.123F;
        double d2 = 1000.6783;
        int ii1 = (int)f2;
        int ii2 = (int)d2;
        System.out.println(ii1);
        System.out.println(ii2);

//      6-多种数据类型混合运算时,小类型自动转换成大类型。
        byte x1 = 10;
        short x2 = 20;
        int x3 = 30;
        long x4 = 40;
        float x5 = 10.0F;
        double x6 = 20.5;
        char x7 = ‘a‘;

        System.out.println(x1 + x2 + x3 + x7 + x4 + x5 + x6);
    }
}
时间: 2024-08-29 09:49:50

JAVA学习笔记(一) - 基本数据类型的相关文章

Java学习笔记二:数据类型

Java学习笔记二:数据类型 1. 整型:没有小数部分,允许为负数,Java整型分4种:int short long byte 1.1 Int最为常用,一个Int类型变量在内存中占用4个字节,取值范围从-2 147 483 6至2 147 483 647 超过20亿,如果用来存储大于20亿的值,最好使用long型. 1.2  int 与Integer: Java中的数据类型分为基本数据类型和复杂数据类型.Int为前者,integer为后者. Integer是int的封装类,提供了很多转换方法,当

Core Java 学习笔记——2.基本数据类型&类型转换

数据类型(8种基本类型:int/short/long/byte/float/double/char/boolean) 整型 int 4字节 -2 147 483 648~2 147 483 647 short 2字节 -32 768~32 767 long 8字节 -9 223 372 036 854 775 808~9 223 372 036 854 775 807 byte 1字节 -128~127 长整型(long)数值后加后缀L  (e.g.  4000000000L) 二进制数(BIN

Java学习笔记——标识符、数据类型、浮点数、字符型、布尔型、类型转换

标识符: 以字母.下划线(_).美元符号($)开头 不可以使用关键字 大小写敏感 可以用下划线分割 int a = 1_0000_0000_1121; 数据类型: int 默认为十进制,八进制以0开头,十六进制以0x开头 System.out.println(*)默认输出十进制 *处Integer.toBinaryString() -->二进制:Octal(八进制):Hex(十六进制) 如果数据的大小不超过byte/char/short的表述范围,则可以自动转型 ☆1 long int 常量在结

Java学习笔记3-操作符

Java基本操作符:+.-.*./.%.=.==.!=.+=.-=. 优先级:先乘除后加减,如果是连接符+号会优先往前匹配,比如 a+++++b,会被解释称 a++ ++ +b,所以会报错,需要自行使用括号隔离为 (a++) + (++b). 对象的引用如果赋值给了对象的引用后,2 个对象将指向同一个引用,有一个对象的引用重新赋值后将同时影响到另一个对象,比如 ClassName classA = new ClassName(); ClassName classB = new ClassName

java学习笔记10--泛型总结

java学习笔记系列: java学习笔记9--内部类总结 java学习笔记8--接口总结 java学习笔记7--抽象类与抽象方法 java学习笔记6--类的继承.Object类 java学习笔记5--类的方法 java学习笔记4--对象的初始化与回收 java学习笔记3--类与对象的基础 java学习笔记2--数据类型.数组 java学习笔记1--开发环境平台总结 本文地址:http://www.cnblogs.com/archimedes/p/java-study-note10.html,转载

Java学习笔记心得——初识Java

初识Java 拿到这本厚厚的<Java学习笔记>,翻开目录:Java平台概论.从JDK到TDE.认识对象.封装.继承与多态...看着这些似懂非懂的术语名词,心里怀着些好奇与担忧,就这样我开始走进Java的世界.  Java产生的历史 Java来自于Sun公司的一个叫Green Project中撰写的程序语言,全球信息网(World Wide Web)兴起,Java Applet成为网页互动技术的代表,特别适合于Internet应用程序开发. Java语言的特点 1.面向对象 这是Java最重要

java学习笔记3——java关键字

java学习笔记3——java关键字 虽然老师说不用刻意的去记忆,但是我还是在网上找到了非常详细的注解,再次收藏 关键字的类型表: 各个关键字的详细注解和实例,按首字母排序: 1.abstract abstract 关键字可以修改类或方法. abstract 类可以扩展(增加子类),但不能直接实例化. abstract 方法不在声明它的类中实现,但必须在某个子类中重写. -示例- public abstract class MyClass{ } public abstract String my

java学习笔记一

只记录一些我认为比较必要,容易出错的地方.(不断更新中) 内存:分为四段,代码段code segment,数据段data segment,栈stack, 堆heap.记住如下图 数据类型: 1.java整形常量默认为int类型,当使用long类型时,因此需要添加“l”或“L”,一般用大写,小写像1.如long i = 888888888888L 2.浮点数时会默认为double类型,因此使用float时需要添加f.如 float i = 0.123f 3.java支持大数运算. 强制转换 flo

Java 学习笔记(2015.7.20~24)

Java 学习笔记(2015.7.20~24) Java Java 学习笔记(2015.7.20~24) 1.StringBuffer与StringBuilder的区别: 2.基本数据类型包装类 3.Date.Calendar.DateFormat等与时间相关的类 1.常用类String 2.正则表达式 3.常用类 StringBuffer 代表可变的字符序列 拆箱与装箱 包装类的应用 匿名内部类 数组 day11 day12 day13 day14 day11 父类中使用public定义的方法