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

JAVA学习笔记(一)-基本数据

2016-05-10 22:39 204 查看

基本数据类型

package com.learning.basicdatatype;
//定点型
public class BasicDemo1 {

public static void main(String[] args) {
byte b=10;
short s=20;
//byte bb=128;
//Type mismatch: cannot convert from int to byte
//short ss=65521;
//Type mismatch: cannot convert from int to short

//注意向下类型转换,数据的溢出,数据类型的范围。

long ll=200;
long l=40L;

//int xx=1111111111111111111111111111111;
//The literal 1111111111111111111111111111111 of type int is out of range

long xx=1111111111111111111L;
//等号右边默认为int类型,如果不加L,则会报错。
}
}


package com.learning.basicdatatype;
/*
* Char型
* */
public class BasicDemo02 {
public static void main(String[] args) {
char c1='a';
//char c2='';
//Invalid character constant,字符常量必须是‘’中有一个字符
//char c3='abc';
char c4='中';
//''中只能是1个字符,如果c4为‘中国’就会报错

char c5=98;
System.out.println(c5);
//c5打印出来的是数字对应的字符

int x=c1+1;
System.out.println(x);
//输出x为int,所以打印结果为99,而不是字符

System.out.println('\'');
//打印结果:'
System.out.println('\\');
//打印结果:\
System.out.println("\"");
//打印结果:"

System.out.println("xxxxxx");
System.out.println("aaaa\nbbb");
System.out.println("xxxx\tyyyy");
// \t 制表符
}
}


package com.learning.basicdatatype;
import java.math.BigDecimal;
/*
* 浮点型,布尔型
* */
public class BasicDemo03 {
public static void main(String[] args) {
double d=10.0;
//float ff=10.0;
//Type mismatch: cannot convert from double to float
//向下数据转型,注意数据溢出
float f=10.0F;

double dd1=10.0;
double dd2=1.0e2;//科学计数法
double dd3=1.0E23;
double dd4=1.0e-23;
double dd5=.12e-10;

double dd6=dd1;
System.out.println(1.0-0.9);
//打印结果:0.09999999999999998
//java中无法表示1/10,如果需要具体表示一个小数,则使用BigDecimal类

//boolean,默认为false
boolean flag=true;
}
}


package com.learning.basicdatatype;
/*
* 引用类型String
* */
public class BasicDemo04 {
public static void main(String[] args) {
String s1="";
String s2="a";
String s3="abcdef";

int i=10;
String s="abc";

i=100;
s="efg";

System.out.println(i);//100
System.out.println(s);//efg
}
}


package com.learning.basicdatatype;
/*
* 类型转换规则:基本数据类型
* */
public class BasicDemo05 {
public static void main(String[] args) {
//boolean 不能和任何基本数据类型转换

//byte,short,char一般不互相转换。如果参与其他运算,会先自动转换成int类型,再运算.
byte b1=10;
short s1=20;
char c1='a';

byte b2=10;
byte b3=20;
byte b4=30;

//byte b4=b2+b3;
//b2和b3会先自动转换成int类型,然后相加。此时,即使结果在byte表示的范围内,也无法自动转换成byte类型
//因为此时是变量相加,结果不确定,计算机无法判断相加后的结果是否会超出byte范围。

int sum1=b1+1;
int sum=b1+s1+c1;

String str1="aaa";
String str2="bbb";
String str3="ccc";

String str=str1+str2+str3;
System.out.println(str);//aaabbbccc
//System.out.println(str-str1);
int i2=1000;
long l2=111111L;
float f2=10.0F;
double d2=20.123;
boolean bool=true;
char c2='a';

System.out.println("10"+i2);//101000
System.out.println(str1+i2);//aaa1000
System.out.println(str1+l2);//aaa111111
System.out.println(str1+f2);//aaa10.0
System.out.println(str1+d2);//aaa20.123
System.out.println(str1+bool);//aaatrue
System.out.println(str1+c2);//aaaa

}
}


package com.learning.basicdatatype;
/*
* 基本数据类型转换
* */
public class BasicDemo06 {
public static void main(String[] args) {
//类型自动转换(隐式转换),字节数小的可以自动转成字节数大的。
byte b1=10;
short s1 = b1;
int i1 = s1;
long l1 = i1;
float f1 = l1;
double d1 = l1;

//类型强制转换(显式转换),如果字节数大的转换成小的,必须强制转换。强制转换,有可能发生数据溢出,造成错误。
byte b2 = (byte)i1;
int i2 = (int)l1;
//注意是否会造成数据溢出。
int i3 = 200;
byte b3 = (byte)i3;

//如果是浮点型的数据转换成整型,则会出现截尾操作。
float f2=10.123F;
double d2=1000.67852;
int ii1=(int)f2;
int ii2=(int)d2;
System.out.println(ii1);//10
System.out.println(ii2);//1000

//多种数据类型混合运算时,小类型自动转换成大类型。
byte x1 = 10;
short x2 = 20;
int x3 = 30;
long x4 = 40;
float x5 = 10.0F;
double x6 = 20.5;
char x7 = 'a';

System.out.println(x1 + x2 + x3 + x7 + x4 + x5 + x6);
//227.5 double
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: