ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java基础语法2:java类型转换、变量与常量概念

2022-07-18 03:00:06  阅读:100  来源: 互联网

标签:类型转换 java 变量 int System 类型 println Java out


Java基础语法2:变量与常量

类型转换

  1. 由于java是强类型语言,所以要进行有些运算的时候,需要用到类型转换。
  2. 运算中,不同类型的数据先转化为同一类型,然后进行运算。
低-------------------------------------------->高
 byte,short,char-->int-->long-->float-->double 
  1. 把高类型转换到低类型的时候要采用强制类型转换

    • 转换格式:类型(变量名)
    • 可能存在内存溢出
  2. 把低类型转换到高类型的时候采用自动类型转换

  3. 总结进行类型转换时的注意点:

    • 不能对布尔值进行转换
    • 不能把对象转换为不相干的类型
    • 在把高容量转换到低容量的时候,强制转换
    • 转换的时候可能存在内存溢出,或者精度问题
  4. 关于以上理论进行一下简单操作

public class Demo08 {
    public static void main(String[] args) {
        int i=128;
        byte e=(byte)i;//-128 强制转换,内存溢出
        double f=i;//128 低转高,自动转换
        System.out.println(e);
        System.out.println(f);
        //强制转换  高-->低  (类型)变量名
        //自动转换  低-->高  不需要加任何东西
        /*
         * 注意点
         * 1.不能对布尔值进行转换
         * 2.不能把对象类型转换为不相干的类型
         * 3.在把高容量转换到低容量的时候,强制转换
         * 4.转换的时候可能存在内存溢出,或者出现精度问题(比如小数转换的时候)*/
        System.out.println("===================================");
        //========================================================
        System.out.println((int)23.7);//23 精度问题
        System.out.println((int)-45.6);//-45 精度问题
        System.out.println("===================================");
        //========================================================
        char v='a';
        int c=v+1;
        System.out.println(c);
        System.out.println((char)c);
        System.out.println("===================================");
        //========================================================
        //操作比较大的数的时候,注意溢出问题
        //JDK7新特性,数字之间可以用下划线分割
        int money=10_0000_0000;
        int year=20;
        int total=money*year;//-1474836480,计算的时候溢出了
        long total2=money*year;//默认是int,转换之前已出现问题,处理方法如下
        long total3=money*((long)year);//先把一个数转换成Long
        System.out.println(total);
        System.out.println(total2);
        System.out.println(total3);

    }
}
  1. 运行后显示-------->

变量

  1. 变量定义:可以变化的量
  2. Java是一种强类型语言,每个变量都必须声明其类型。
  3. Java变量是程序中最基本的储存单元,其要素包括变量名,变量类型和作用域。
  type  varName  [=value][{,varName}];
//数据类型 变量名 = 值;可以用逗号隔开来声明多个同类型变量。
  1. 注意事项:
    • 每个变量都有类型,类型可以是基本类型,也可以是引用类型。
    • 变量名必须是合法的标识符。
    • 变量声明是一条完整的语句,因此每一个声明都必须以分号结束。
  2. 下面那些均为变量的格式
public class Demo09 {
    public static void main(String[] args) {
        //int a,b,c;
        int a=1,b=1,c=1;
        //可以用逗号隔开来声明多个同类型变量,但并不推荐
        String name="sunyusong";
        char x='x';
        double pi=3.14;
    }
}

变量的作用域

  1. 类变量:加一个关键词static,可以直接输出
  2. 实例变量:在类里面,方法的外面,从属于对象
    • 如果不自行初始化的话:
    • 所有数值类的基本类型的默认值都是0(0 0.0 U0000)
    • 布尔值的默认值为false;
    • 除了基本类型,其余的默认值都是null;
  3. 局部变量:在方法里面,必须声明和初始化值
  4. 如下示意图

  1. 关于以上理论进行一下简单操作
public class Demo10 {
    //类变量 static
    static double salary = 2500;
    //属性:变量
    //实例变量:从属于对象;如果不自行初始化,这个类型的默认值为0 0.0
    //布尔值:默认是false
    //除了基本类型,其余的默认值都是null;
    String name;
    int age;

    //main方法
    public static void main(String[] args) {
        //局部变量,在方法里面,必须声明和初始化值
        int i=10;
        System.out.println(i);

        //变量类型 变量名字=new Demo10();
        Demo10 demo10 = new Demo10();
        System.out.println(demo10.age);//0
        System.out.println(demo10.name);//null

        //类变量
        System.out.println(salary);
    }

    //其他方法
    public void add(){}
}
  1. 运行后显示-------->

变量的命名规范:重点

  1. 所有变量、方法、类名:见名知意

  2. 类成员变量:首字母小写和驼峰原则

    • 驼峰原则:除了第一个单词外,后面的单词首字母大写

    • 举例:monthSalary,lastName等;

  3. 局部变量:首字母小写和驼峰原则

  4. 常量:大写字母和下划线

  5. 类名:首字母大写和驼峰原则

  6. 方法名:首字母小写和驼峰原则

常量

  1. 常量(Constant):初始化(initianlize)后不能再改变值!不会变动的值。
  2. 所谓常量可以理解成一个特殊的变量,它的值被设定后,在程序运行过程中不允许被改变。
final 常量名 = 值;
final double PI=3.14;
  1. 常量名一般使用大写字符。
  2. 常量的简单操作: 常量关键词 final;
public class Demo11 {

    //变量类型前面均为修饰符,不存在先后顺序
    static final double PI=3.14;
    final static double HI=3.14;

    public static void main(String[] args) {
        System.out.println(PI);
        System.out.println(HI);
    }
}
  1. 运行后显示-------->

标签:类型转换,java,变量,int,System,类型,println,Java,out
来源: https://www.cnblogs.com/sunyusong/p/16489069.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有