Java之类型

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、Java的基本类型转换?
  • 二、变量类型
    • 1.类变量
    • 2.实例变量
    • 3.局部变量


前言


提示:以下是本篇文章正文内容,下面案例可供参考

一、Java的基本类型转换?

1.自动类型转换
整型、实型(常量)、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算。转换从低级到高级。
低 ------------------------------------> 高

byte,short,char—> int —> long—> float —> double

package lanqiao;
public class ZiDongLeiZhuan {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		char  c1 = 'a';
		int i1 = c1;
		System.out.println("char自动类型转换为int后的值等于"+i1);
		char c2 = 'A';
		int i2 = c2+1;
		System.out.println("char类型和int计算后的值等于"+i2);
	}
}

2.强制类型转换

  1. 条件是转换的数据类型必须是兼容的。
  2. 格式:(type)value type是要强制类型转换后的数据类型
package lanqiao;
public class QiangZhiZhuanHuan {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int i1 = 123;
        byte b = (byte)i1;//强制类型转换为byte
        System.out.println("int强制类型转换为byte后的值等于"+b);
	}
}

3.隐含强制类型转换
1.取值范围小的转成取值范围大的。

package lanqiao;
public class yingshizhuanhuan {
	public static void main(String[] args) {
		// TODO Auto-generated method stub\
		int a = 3;
		double d = 4.0;
		d = a;
		System.out.println(d);
	}
}

2.其他默认类型
整数的默认类型是 int。
小数默认是 double 类型浮点型,在定义 float 类型时必须在数字后面跟上 F 或者 f。

package lanqiao;
public class yingshizhuanhuan {
	public static void main(String[] args) {
		// TODO Auto-generated method stub\
		int a = 3;
		float  b;
		b = a+10F;
		System.out.print(b);
	}
}

二、变量类型

Java语言支持的变量类型有:
类变量:独立于方法之外的变量,用 static 修饰。
实例变量:独立于方法之外的变量,不过没有 static 修饰。
局部变量:类的方法中的变量。

1.类变量

代码如下(示例):

package lanqiao;
import java.lang.reflect.Method;
public class Variable {
	static int allclicks = 0;//全局变量是可以被本程序所有对象或函数引用。
	String string = "Hello World";
	public void method() {
		int i = 0;
		System.out.print(allclicks);
	}
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Variable i1 = new Variable();
		i1.method();
	}
}

2.实例变量

(1)实例变量声明在一个类中,但在方法、构造方法和语句块之外;
当一个对象被实例化之后,每个实例变量的值就跟着确定;
(2) 实例变量在对象创建的时候创建,在对象被销毁的时候销毁;
(3)实例变量的值应该至少被一个方法、构造方法或者语句块引用,使得外部能够通过这些方式获取实例变量信息; 实例变量可以声明在使用前或者使用后;
(4)访问修饰符可以修饰实例变量;
(5)实例变量对于类中的方法、构造方法或者语句块是可见的。一般情况下应该把实例变量设为私有。通过使用访问修饰符可以使实例变量对子类可见;
(6)实例变量具有默认值。数值型变量的默认值是0,布尔型变量的默认值是false,引用类型变量的默认值是null。变量的值可以在声明时指定,也可以在构造方法中指定;
(7)实例变量可以直接通过变量名访问。但在静态方法以及其他类中,就应该使用完全限定名:ObjectReference.VariableName。

代码如下(示例):

package lanqiao;

public class Employees {
	  // 这个实例变量对子类可见
	   public String name;
	   // 私有变量,仅在该类可见
	   private double salary;
	   //在构造器中对name赋值
	   public Employees (String empName){
	      name = empName;
	   }
	   //设定salary的值
	   public void setSalary(double empSal){
	      salary = empSal;
	   }  
	   // 打印信息
	   public void printEmp(){
	      System.out.println("名字 : " + name );
	      System.out.println("薪水 : " + salary);
	   }
	public static void main(String[] args) {
		// TODO Auto-generated method stub

		Employees empOne = new Employees("RUNOOB");
	      empOne.setSalary(1000.0);
	      empOne.printEmp();
	}

}

3.局部变量

(1)局部变量声明在方法、构造方法或者语句块中; 局部变量在方法、构造方法、或者语句块被执行的时候创建,当它们执行完成后,变量将会被销毁;
(2)访问修饰符不能用于局部变量; 局部变量只在声明它的方法、构造方法或者语句块中可见; 局部变量是在栈上分配的。
(3)局部变量没有默认值,所以局部变量被声明后,必须经过初始化,才可以使用。

this关键字:如果想要打印private里的变量值,则使用this关键字
就近原则

package lanqiao;
public class GirlFriend {
	private int age=100;
	public void method() {
		int age = 10;
		System.out.println(age);
	}	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		GirlFriend class1 = new GirlFriend();
		class1.method();
	}
}


你可能感兴趣的:(java专栏,java,开发语言,算法)