您的位置:首页 > 编程语言 > Java开发

java基础学习日志03

2017-12-13 13:53 423 查看
今天是第三天

一.有无返回值的方法和全局变量与局部变量

static定义下的基本数据类型都有返回值,而void则不需要返回值。

类之下的全局变量在整个类中都可被调用,方法中的局部变量只能在方法中被调用。

class Test1 {
//	定义在方法体外部,类内部的变量就是成员变量,也叫全部变量
static int i=10;
char c = 'c';
final int max = 100;

String str = null;
public static void main(String[] args) {

//		方法体内部定义的变量叫局部变量
int i=12;
int money = 100_0000+i;

System.out.println(money);
}
public void run(){

System.out.println(i);
}
//有返回值方法 用需要返回的类型进行修饰
public int getNum(int i,int j){

return i+j;
}

//	无返回值,用void 修饰
public void getNums(int i,int j){
System.out.println(i+j);
}

}


二.类型转换

public class Test2 {
static int age=12;
//	String str = new String("abc");				引用类型变量的声明
public static void main(String[] args) {
//		八种基本数据类型声明变量
//		整形分为四种(byte,short,int,long)
//		浮点型两种(float,double)
//		字符型	char
//		布尔型	boolean;
byte b,b1,b2=12;
short s = 12;

//		float f = 12.3;			在java中所有的小数默认为是double类型,
float f = 12.3f;		//在java中声明float类型的变量需要在小数后加f或F
double d = 12.34D;		//在java中声明一个double类型的变量也可以在数学后面加d或D

char c = '\"';  			//在java中char类型的变量只能存放一个字符。
boolean blean=true;			//boolean类型的变量值只有true和false

//		八种基本数据类型对应的封装类
//		byte ,short ,int ,long ,float ,double ,char ,boolean
//		八种基本数据类型对应的封装类(java中对八种基本数据类型的解释)
//		Byte, Short, Integer,Long,Float,Double,Character,Boolean

byte bsize = Byte.SIZE;
byte bbyte = Byte.BYTES;
byte maxbyte = Byte.MAX_VALUE;
byte minbyte = Byte.MIN_VALUE;
System.out.println("  "+bsize+"   "+bbyte +"  "+maxbyte+"   "+minbyte);

short ssize = Short.SIZE;
short sbyte = Short.BYTES;
short maxshort = Short.MAX_VALUE;
short minshort = Short.MIN_VALUE;
System.out.println("  "+ssize+" "+sbyte+" "+maxshort+" "+minshort);

int i=100;
i=200;
i=90;
System.out.println(0x80000000);

final int J=100;	//常量的定义和变量的定义一样,只不过在前面加上final.且常量一旦赋值就不允许进行值得更改。
//		j=12;
//声明16进制的变量
int i2 = 0x100;
System.out.println(i2);
//声明一个8进制的变量
int i3= 0100;
System.out.println(i3);

}
}


  这个类是进行类型转换演示的类

在java中基本数据类型的转换和基本数据类型的大小是有关系的

在内存小的转换为内存大的数据类型是会自动进行类型转换,这种叫隐式类型转换。

在内存大的转化为内存小的数据类型时,必须进行声明这种叫强制类型转换,也叫显示类型转换

强制类型转换需要注意的地方

一.强制类型转换可能会丢失数据的准确性

二.强制类型转换从精度高的类型转精度低的类型时,会丢失数据精度(double转float)

表达式的数据类型自动提升

所有的byte型、short型和char的值将被提升到int型

如果一个操作数是long型,计算结果就是long型

如果一个操作数是float型,计算结果就是float型

如果一个操作数是double型,计算结果就是double型

如果一个操作数是String型,计算结果就是String型

public class TypeConvert {
public static void main(String[] args) {
//		在int类型转byte类型时,如果int类型的值超过byte类型的最大值,则超过部分从byte的最小值开始进行计算,
//		超过多少在最小值的基础上加多少,如果所得结果大于还是大于最大值,重新从最小值开始,直到最后所得之在byte值范围内。
//		同样道理在整形的其他类型也是一样。
//		int i=381;
//		byte b=(byte)i;
//		System.out.println(b);
//		二。强制类型转换从精度高的类型转精度低的类型时,会丢失数据精度(double转float)
//		double d = 10.0/3;
//		System.out.println(d);
//		float f = (float)d;
//		System.out.println(f);
//		d=f;
//		System.out.println(d);
//		浮点类型和整数类型的转换
//		浮点类型转为整数类型必须进行强制类型转换
//		浮点类型转为整数类型只会保留整数部分
//		整数类型转为浮点类型会在整数后面加上.0;
//		double d=12.84;
//		float f = 11.2f;
//		int i=(int) d;
//		System.out.println(i);
//		i=(int)f;
//		System.out.println(i);
//		f=i;			//将整数类型转换为浮点类型
//		System.out.println(f);
//		d=i;
//		//在long类型转化为浮点类型,然后再将对应的浮点值转化为long类型时,数据准确度没有丢失
//		long maxlong = Long.MAX_VALUE;
//		System.out.println(maxlong);
//		 d= maxlong;
//		System.out.println(d);
//		long l = (long)d;			//精度高的类型转精度低类型时需要进行强制类型转换
//		System.out.println(l);
//		所有的byte型、short型和char的值将被提升到int型
byte b=12,b1=10;
//		byte b2 = b+b1;			//这行代码会出错,两个byte类型的数据进行运算的时候,会将结果自动提升为int类型
byte b2 =(byte) (b+b1);	//如果两个byte类型运算结果一定要是byte,就必须进行强制类型转换
//		int b2=b+b1;
//		同上
//		short s=100,s1=120;
//		short s2 = s+s1;
//		char类型的数值在进行数学运算时如果是英文字符,会根据计算机底层ascii码表进行数值转换,转换为10进制的数
//		如果是汉字或者其他非英文字符,则按照unicode编码表进行转换
//		char c = 'a',c1='b';
//		int c2 = c+c1;
//		System.out.println(c2);
//		char c3='刱';
//		int c4 = c3;
//		System.out.println(c4);
}

}
// 基本数据类型转换到string引用类型
byte z = 1;
short x = 12;
int c = 123;
long v = 1234;
float b = 1.1f;
double n = 1.23;
char m = 'a';
boolean p = true;
String str, str1;

str = "" + z;
System.out.println(str);
str1 = String.valueOf(z);
System.out.println(str1);

str = "" + x;
System.out.println(str);
str1 = String.valueOf(x);
System.out.println(str1);

str = "" + c;
System.out.println(str);
str1 = String.valueOf(c);
System.out.println(str1);

str = "" + v;
System.out.println(str);
str1 = String.valueOf(v);
System.out.println(str1);

str = "" + b;
System.out.println(str);
str1 = String.valueOf(b);
System.out.println(str1);

str = "" + n;
System.out.println(str);
str1 = String.valueOf(n);
System.out.println(str1);

str = "" + m;
System.out.println(str);
str1 = String.valueOf(m);
System.out.println(str1);

str = "" + p;
System.out.println(str);
str1 = String.valueOf(p);
System.out.println(str1);

}

// String类型转换为基本数据类型

public static void test1() {
String str = "100", str1 = "true";
byte b = Byte.parseByte(str);
short s = Short.parseShort(str);
int i = Integer.parseInt(str);
long l = Long.parseLong(str);
float f = Float.parseFloat(str);
double d = Double.parseDouble(str);
boolean b1 = Boolean.parseBoolean(str1);

System.out.println(b);
System.out.println(s);
System.out.println(i);
System.out.println(l);
System.out.println(f);
System.out.println(d);
System.out.println(b1);

short s1 = 1;
s1 += 1;
System.out.println(s1);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: