java基础

package lshday0120190115;

public class HellowWord {

public static void main(String[] args) {
// TODO Auto-generated method stub

//ctr +/- 放大缩小字体
System.out.println("ah千里马");
//整数常量 所有整数
System.out.println(1000);
System.out.println(3.14);
//单引号括起来的内容里面只能放单个数字字母符号
System.out.println('A');
System.out.println('+');
//布尔
System.out.println(true);
System.out.println(false);
//不同进制数据的JAVA表现形式
//二进制的数据表现形式---由01组成,以0b(b可以写大小写)
System.out.println(0b100);
//八进制的数据表现形式---由01-7组成,以0开头
System.out.println(011);
//十六进制的数据表现形式---由0,1,a(10),b(12)
//大小写均可 以0x开头
System.out.println(31*16);
System.out.println(0x1f0);
//符号表示法
//原码,最高位为符号位,‘0’表示正‘1’表示负号


//声明一个双精度 变量
double pi=3.14;
//声明一个单精度变量
float f=2.234F;

System.out.println("double:"+pi);
System.out.println("float:"+f);

//声明一个布尔类型

boolean b1=true; //变量
System.out.println("boolean:"+b1);
System.out.println(b1);

//基本数据类型定义数据事项
//1,赋值时注意FLOAT的数据类型,加大写的F和L
float w =3.14F;
long l =89173821761536156L;
//2.作用域问题:同一个区域不能使用相同的变量名
//3,初始化值问题:局部变量在使用之前必须赋值
//4,一条语句可以定义几个变量eg:int a,b,c...

//数据类型之间的隐式转换
int x=3;
System.out.println(x);
byte b=4;
x=x+b;//相加之后的结果重新赋值给x
System.out.println(x);


/*java中的默认转换规则
取值范围小的数据类型与取值范围大的数据类型进行运算
会先将小的数据类型提升位大的,在运算*/

//强制类型转换
int m=3;
byte n=4;
b=(byte)(m+n);
System.out
.println(b);

//java的运算是以补码的形式运算的


//面试题 long(8)和float(4)(大)取值范围谁大谁小
//假设M=2,Float:2*2^127 Long:2*2^63
//进行混合运算的时候,byte(1),short(2),char(2)不会相互转换,都会自动类型提升为int类型,
byte p=1;
short o=2;
int k=p+o;
//byte+int

//声明一个字符
//注意:声明字符时,可以直接加上单引号,或者说直接赋值码表ASCII的数字
char c11='A';
System.out.println(c11);
char c22='B';
System.out.println(c22);
//大写和小写相差的大小是32
System.out.println(c11+c22); //两个字符相加,实际是把码表数字相加
System.out.println('C'+1);
char c33=97;
System.out.println(c33);

//解码
char c1=73;
char c2=76;
char c3=111;
char c4=118;
char c5=101;
char c6=89;
char c7=111;
char c8=117;
System.out.print(c1);
System.out.print(c2);
System.out.print(c3);
System.out.print(c4);
System.out.print(c5);
System.out.print(c6);
System.out.print(c7);
System.out.println(c8);

//字符与字符串相加
char c111='a'; //97
char c222='b';//98
System.out.println(c111+c222+"java");
System.out.println(c111+"java"+c222);

int q=10;
//int y=q++; //y=10 q=11
int y=++q;
System.out.println("q="+q);
System.out.println("y="+y);
//1.2扩展的赋值运算符:+=,-=,*=,/=,%=
//+= 把左边和右边做加法,然后赋值给左边。
int t=10;
t=t+2;
t+=2; //等价于上面的写法
System.out.println("t="+t);


double d1=2.5;
int i=(int)d1; //double转 int,会把小数点去除,损失精度
System.out.println("i="+i);
//逻辑运算符
// & 逻辑与,有false则false
System.out.println(4>5 & 4<3);//false:false
System.out.println(4>5 & 4>3);//false:true
System.out.println(4<5 & 4>3);//true:true

// | 逻辑或,由true则true
System.out.println(4>5 | 4<3);//false:false
System.out.println(4>5 | 4>3);//false:true
System.out.println(4<5 | 4>3);//true:true


// ^ 逻辑异或,相同为false,不同为true
System.out.println(4>5 ^ 4<3);//false:false
System.out.println(4>5 ^ 4>3);//false:true
System.out.println(4<5 ^ 4>3);//true:true

// ! 逻辑非,非false则true,非true则false
System.out.println(!true);
System.out.println(!false);

// && 逻辑与
//最终与&结果一样
System.out.println(4>3 & 5>4);//true:false
System.out.println(4>3 && 5>4);//true:false
// &&具有短路效果,左边是false,右边不执行
int d=10;
int c=9;
System.out.println(d++ > 10 && c++ < 8); //false:false
System.out.println("d="+d);
System.out.println("c="+c);

// &是无论左边是false还是ture,右边都会执行



// ||逻辑或
/* ||与|结果是一样的
* ||具有短路效果,左边是false,右边会不执行
* |是无论左边是false还是true,右边都会执行
* */

}

}

 

posted @ 2019-01-16 14:37  Letooi  阅读(120)  评论(0)    收藏  举报