VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 编程开发 > Java教程 >
  • java基础笔记-变量和数据类型

 

单个字节范围 -128~ 127

java 语言中描述整数的数据类型有:byte,short,int,long,推荐使用int

int的表示范围 -2^31~2^31-1

直接写出的数字叫直接量、常量,字面值,默认是int类型

编译 javac xxx.java     java  xxx

复制代码
/*
    编程实现变量的声明和使用
 */
public class VarTest {
    
    public static void main(String[] args) {
    
        // 1.声明一个变量并初始化   数据类型 变量名 = 初始值;
        int age = 18;
        // 2.打印变量的数值   + 字符串连接符  用于将两边的内容拼接/连接起来结果还是字符串
        System.out.println("age = " + age); // age = 18
        
        System.out.println("-----------------------------------------------------");
        // 3.使用变量的注意事项
        // 3.1 使用变量之前需要声明
        // System.out.println("name = " + name); // 错误: 找不到符号 
        // 3.2 使用变量之前需要初始化
        //String name;
        //System.out.println("name = " + name); // 错误: 可能尚未初始化变量name
        String name = "奇点";
        System.out.println("name = " + name); // name = 奇点
        // 3.3 变量不能重复声明
        //int age = 17; // 错误: 已在方法 main(String[])中定义/声明了变量 age
        int aGe = 17;
        int fjakjf3fjdlakjfa7987jfkdajlkf2427897fdjafjalkl89809fdjafjlj = 10;
        int 年龄 = 16;
    }
} 
复制代码

标识符 一般使用字母 ,区分大小写

复制代码

/*
编程实现变量的输入输出
*/


// 导入java目录中util目录的Scanner类
import java.util.Scanner;

public class VarIOTest {
    
    public static void main(String[] args) {
        
        // 1.声明两个变量用于记录姓名和年龄信息
        //String name;
        //int age;
        
        // 2.提示用户从键盘输入姓名和年龄信息并放入到变量中   变量随使用随声明
        System.out.println("请输入您的姓名和年龄信息:");
        // 创建一个扫描器来扫描键盘输入的内容  System.in代表键盘输入
        Scanner sc = new Scanner(System.in);
        // 通过扫描器读取一个字符串数据放入变量name中
        String name = sc.next();
        // 通过扫描器读取一个整数数据放入变量age中
        int age = sc.nextInt();
        
        // 3.打印变量的数值     尽可能减少重复的代码
        //System.out.println("name = " + name);
        //System.out.println("age = " + age);
        System.out.println("name = " + name + ", age = " + age);
    }
} 
复制代码

 

基本数据类型:

byte,short,int,long,float,double,boolean,char

引用数据类型

数组 ,类,接口,枚举,标注

复制代码
/*
    编程实现整数类型的使用
 */
public class IntTest {
    
    public static void main(String[] args) {
        
        // 1.声明一个byte类型的变量并初始化
        byte b1 = 25;
        //byte b1 = 250;     // 错误: 不兼容的类型: 从int转换到byte可能会有损失  250这样直接写出的整数数据叫做直接量/常量/字面值 默认为int类型 
        // 2.打印变量的数值
        System.out.println("b1 = " + b1); // b1 = 25
        
        System.out.println("---------------------------------------------");
        // 3.声明一个short类型的变量并初始化
        short s1 = 250;
        //short s1 = 250250;  // 错误:不兼容的类型:从int转换到short可能会有损失
        System.out.println("s1 = " + s1); // s1 = 250
        
        System.out.println("---------------------------------------------");
        // 4.声明一个int类型的变量并初始化
        int i1 = 250250;
        //int i1 = 2502505006; // 错误: 整数太大   默认为int类型,这个数据自身已经出错,无法表示
        //int i1 = 2502505006L;  // 错误:不兼容的类型:从long转换到int可能会有损失
        System.out.println("i1 = " + i1); // i1 = 250250
        
        System.out.println("---------------------------------------------");
        // 5.声明一个long类型的变量并初始化,若描述比long类型还大的数据则使用java.math.BigInteger类型
        long g1 = 2502505006L;
        System.out.println("g1 = " + g1); // g1 = 2502505006
        
        System.out.println("---------------------------------------------");
        // 6.请问下面的代码是否有错误?若有请指出并说明原因
        //int i2 = 25;
        //byte b2 = i2;  // 错误: 不兼容的类型: 从int转换到byte可能会有损失
        //System.out.println("b2 = " + b2);
        
    }
}
复制代码

float 占 4个字节,可以表示7位有效数字,包含整数部分

double 类型占8个字节,可以表示15位有效数字

小数默认是double类型

复制代码
/*
    编程实现浮点类型的使用
 */
public class DoubleTest {
    
    public static void main(String[] args) {
        
        // 1.声明一个float类型的变量并初始化
        //float f1 = 3.1415926;   // 错误: 不兼容的类型: 从double转换到float可能会有损失   小数数据叫做直接量,默认为double类型
        float f1 = 3.1415926f;
        // 2.打印变量的数值
        System.out.println("f1 = " + f1); // f1 = 3.1415925     一般是7位有效数字
        
        System.out.println("---------------------------------------------------------");
        // 3.声明一个double类型的变量并初始化
        double d1 = 3.1415926;
        System.out.println("d1 = " + d1); // d1 = 3.1415926     一般是15位有效数字
        
        System.out.println("---------------------------------------------------------");
        // 4.笔试考点
        System.out.println(0.1 + 0.2);  // 0.30000000000000004  运算时可能会有误差,若希望实现精确运算则借助java.math.BigDecimal类型 
    }
}
复制代码

boolean 用来描述真假信息,数值 true false

复制代码
/*
    编程实现布尔类型的使用
 */
public class BooleanTest {
    
    public static void main(String[] args) {
        
        // 1.声明一个boolean类型的变量并初始化
        boolean b1 = true;
        // 2.打印变量的数值
        System.out.println("b1 = " + b1); // b1 = true
        
        System.out.println("-------------------------------------------");
        // 3.修改变量b1的数值   = 赋值运算符,用于将=右边的数据赋值给=左边的变量,覆盖变量中原来的数值
        b1 = false;
        System.out.println("b1 = " + b1); // b1 = false
        
        System.out.println("-------------------------------------------");
        //b1 = 1; // 错误: 不兼容的类型: int无法转换为boolean
    }
}
复制代码

char类型占2个字节,范围0-65535,用来描述单个字符

复制代码
/*
   编程实现字符类型的使用         
 */
public class CharTest {
    
    public static void main(String[] args) {
        
        // 1.声明一个char类型的变量并初始化
        char c1 = 'a';
        // 2.打印变量的数值
        System.out.println("c1 = " + c1); // c1 = a   
        System.out.println("对应的编号是:" + (int)c1); // 表示将char类型的c1强制转换为int类型并打印   97 
        
        System.out.println("-------------------------------------------------------------------------");
        // 2.声明一个char类型的变量并初始化
        char c2 = 98;
        System.out.println("c2 = " + c2); // c2 = b   
        System.out.println("对应的编号是:" + (int)c2); // 98
        
        System.out.println("-------------------------------------------------------------------------");
        // 3.使用Unicode字符集来表示一下我的名字   奇点  对应的编号是: \u5947\u70b9
        char c3 = '\u5947';
        char c4 = '\u70b9';
        System.out.println("最终的结果是:" + c3 + c4); // 奇点
        
        System.out.println("-------------------------------------------------------------------------");
        // 4.特殊字符的使用   双引号本身有2个含义:a.字符串的开头和结尾标志    b.双引号自身    \ 转义就是转换原有的含义
        System.out.println("我想过过\"过过过过的生活!");   //  \"  - "
        System.out.println("我想过过\'过过过过的生活!");
        System.out.println("我想过过\\过过过过的生活!");
        System.out.println("我想过过\t过过过过的生活!");
        System.out.println("我想过过\n过过过过的生活!");
    }
}
复制代码

 常见ascii :

‘0’ 48   , ‘A’  65    ,‘a’ 97  , 空格  32  ,换行符  10

自动类型转换 :小类型转大类型

long 类型2^63 -1

float 类型  10^38

 

 = 赋值运算符

复制代码
/*
    编程实现基本数据类型之间转换的使用
 */
public class TransformTest {
    
    public static void main(String[] args) {
        
        // 1.声明两个变量并初始化
        byte b1 = 10;
        short s1 = 20;
        // 2.打印变量的数值
        System.out.println("b1 = " + b1); // b1 = 10
        System.out.println("s1 = " + s1); // s1 = 20
        
        System.out.println("----------------------------------------------");
        // 3.实现自动类型转换的使用
        // 表示将变量b1的数值赋值给变量s1,并覆盖变量s1中原来的数值,相当于从byte类型到short类型的转换,小到大  自动转换
        s1 = b1;
        System.out.println("b1 = " + b1); // b1 = 10
        System.out.println("s1 = " + s1); // s1 = 10
        
        System.out.println("----------------------------------------------");
        // 4.实现强制类型转换的使用
        // 表示将变量s1的数值赋值给变量b1,并覆盖变量b1中原来的数值,相当于从short类型到byte类型的转换,大到小  强制转换
        //b1 = s1;   // 错误: 不兼容的类型: 从short转换到byte可能会有损失
        s1 = 128;    // 故意加该行代码      128:0000 0000 1000 0000  => 1000 0000 => 0111 1111 => 1000 0000 => 128 => -128
        b1 = (byte)s1;
        System.out.println("b1 = " + b1); // b1 = 10   -128 
        System.out.println("s1 = " + s1); // s1 = 10   128
    }
}
复制代码

 文章来自拉勾教育 大数据开发


相关教程