由低转高是自动转换,由高转低则需要强制转换,具体如下:
//类型的转换主要有以下两种 //由低到高,自动转换; int a=100; double b=a; System.out.println(b);//运行结果为:100.0 //由高到低,强制转换 double c=1000; int d=(int)c; System.out.println(d);//运行结果为:1000
问题:什么是由低转高,由高转低呢?
答:这主要是看数据类型占多少个字节,在我的上一篇文章 数据类型的定义 中已经给出。
其由低到高为:byte<short<char<int<long<float<double
注意事项:
boolean类型不能和其他的数据类型进行转换。
转换的时候要防止溢出,即由高级数据类型转为低级数据类型的时候,需要注意这个低级数据类型所属的有效范围是否能够包括这个高级数据类型的值。例如:
//防止溢出 int e=1000; byte f=(byte)e; System.out.println(f);//byte的有效范围只到127;而e为1000;不能正确输出
字符类型和数字类型之间也可以进转换。例如:
//字符类型的转换 char g='A'; int h=g;//由于char类型的级别低于int类型,在编写的时候会进行自动转换,无需加(int)。 System.out.println(h);//输出结果为65;对应字母A在ASCII中的序号位置,没问题 char k=(char)h;//由int类型转为char类型,高转低,需要进行强制转换。 System.out.println(k);//输出结果为A
变量的定义格式:<变量类型> 变量名 = 值
变量有类变量,实例变量,局部变量,如下代码:
public class Demo04 { //类变量 static int a;//在整个类里面可以直接调用 //实例变量 int b; public static void main(String[] args) { //局部变量,只在这个类方法中起作用,在其他方法中无法使用这个变量。 char c='A'; System.out.println(c);//输出结果为A //直接调用类变量 System.out.println(a);//运行结果为0,因为类变量为int类型,若不进行初始化的话默认为0; //实例变量b不能够直接调用,需要通过类Demo04对象进行调用 Demo04 d=new Demo04();//d是用类Demo04声明的一个对象 System.out.println(d.b); method();//结果为0 } public static void method() { //System.out.println(c);//不能执行,无法调用方法main中的值 System.out.println(a); } }
变量的命名规范,养成一个好的习惯,做到见码知义
类名每个单词首字母大写例如StudentScore
类变量名和局部变量名,方法名都采用第一个单词首字母小写加驼峰原则,即第一个单词之后的每个单词的首字母大写。例如nameInfo,findScore()
常量采用大字母加下划线
//常量 static final int MAX_SIZE=100;
常量的使用一般是在写程序时,你的程序中需要多次运用到这个值,并且这个值一般不会被更改,那么此时我们就可以定义一个变量。