day7【Java基础】

package com.ujiuye.demo;

public class DataType01 {

public static void main(String[] args) {

// 数据类型

// 基本数据类型  四类

// 整数

// 小数[浮点数]

// 字符

// 布尔值

// 整数  数据类型 int

int age = 12;

// 在Java中,可以直接表示其他进制的正数

// 二进制 0b

int bin = 0b0000101010101010101;

System.out.println(bin);

// 八进制  以0开头

int oct = 0766;

System.out.println(oct);

// 十六进制  以0x 开头

int hex = 0x12acbdef;

System.out.println(hex);

// 在输出其他进制的时候,Java会直接转换为十进制进行输出

// 小数  带小数点的数字 数据类型 double

double price = 28.6;

// 字符 数据类型  char ,字符中,有且仅能放入一个字符,一个字符,使用单引号包裹,

char ch = ' ';

// 布尔值 表示真或者是假  用途 : 二值属性的表达使用布尔值 

// 数据类型 boolean

boolean gender = true;//ture

boolean sex = false;

}

}



package com.ujiuye.demo;

public class DataType02 {

public static void main(String[] args) {

// 详细介绍四种数据类型

// 整数 四种具体的类型  byte short 短整型 int 默认[整型]  long 长整型

// byte 字节 8bit 组成

// 符号位000 0000 -2^7 ~ 2^7-1  = -128 ~ 127

byte b1 = 120;

// byte b2 = 128;//不可以,因为数据超出范围

// short 短整型 2字节 16bit

// -2^15~2^5-1  -32768~32767

short s1 = 2345;

// short s2 = 32888;

// int 默认的整数类型  4个字节 32bit

// -2^31~2^31-1  -2147483648~2147483647 [10位以内]

int i1 = 123456789;

// int i2 = 9876543210;

// long 长整型  8 64bit

// -2^63~2^63-1  [20位以内]

long l1 = 123456789;

long l2 = 1234567890123456789L;

//当使用long类型表示整数的时候,超过整数的范围需要在末尾加一个L,大小写均可

// 小数 浮点数  float 漂浮

double d1 = 0.1;

double d2 = 0.2;

System.out.println(d1 + d2);

// float 占 4 字节

float f1 = 0.1F;  // 默认的小数是double类型,如果使用float声明,需要在末尾添加一个F,大小写均可;

// double 占8字节 double是默认的小数类型

double dou1 = 0.2;

// 精确度不同

// float 4 字节  符号位 000 0000 0 [指数:表示整数]| 000 0000 0000 0000 0000 0000 [使用剩余的23位模拟小数]

// float 可以精确到小数点后6位,

// double 8字节 0000 0000

// 符号位 000 0000  0000 [指数;表示整数]| 0000  0000 0000  0000 0000  0000 0000  0000 0000  0000 0000  0000 0000

// [使用剩余的52位模拟小数]

// 可以精确到小数点后15位,

// 字符 char 类似short 使用2字节  16bit

// 范围 : 0~65535

char ch01 = ' ';

// 布尔值 使用1个字节 只有两个值  true  false

boolean boo01 = true;

boolean boo02 = false;

// Java中怎么定义常量  fianl 最终,不可以再改变

final int MAX_VALUE = 2147483647;

// MAX_VALUE = 0;

// Java中定义变量

// 数据类型 变量名 = 变量值;

// 一个变量的变量,在同一个方法中只能被定义一次;

// 变量在声明时可以先不赋值,在使用前一定要赋值,不赋值不可以使用;

int age;

age = 120;

System.out.println("老奶奶今年"+age);

// System.out.println(8>>1);

}

}


package com.ujiuye.demo;

/**

* @author Administrator

*

*/

public class Demo01 {

//   main  是程序入口,一个  类只能有一个入口

/**

* @param args

*/

public static void main(String[] args) {

// 注释 : 给自己或者其他的程序员看的

// 用来解释说明程序的功能或者是注意事项

// 单行注释 ,  只能注释一行中的内容

/*

* 可以注释多行内容

* 继续写注释

*

*

* */

//文档注释  alt  + shift + j

// 单行注释的快捷键  Ctrl + /

// 多行注释快捷键  Ctrl + shift + /

// 文档注释 alt + shift + j

// 标识符

// 在Java标识符可以使用 所用的英文字母 a-zA-z 数字0-9 特殊符号: _ $

// [注意 : 中文可以使用,在开发时一定不要用]

// 标识符的命名规则

// 1,标志符不可以用数字开头

// 2,标识符可以Java的关键字或者是保留字

// 3,仅可以使用 : 英文字母 a-zA-z 数字0-9 特殊符号: _ $  ,不可以使用其他的特殊符号

// 标识符的命名规范

// 驼峰命名法[帕斯卡命名法]

// 大驼峰  每个单词的首字母大写,其余字母小写  XxxYyyZzz 一般用于工程名,类名

// 小驼峰    第一个单词全小写,从第二个单词首字母大写, xxxYyyZzz  一般用于,方法名 ,变量名

// 常量 全大写,每个单词之间可以使用_分隔

// int MAX_VALUE = 2147483647;

// 总体规则  ; 见名知意

// 在Java中严格区分大小写

int age = 20;

int Age = 20;

double price= 28.6;

/*

* System.out.println(); System.out.println(); System.out.println();

* System.out.println(); System.out.println();

*/

}

}


package com.ujiuye.demo;

public class Operator01 {

public static void main(String[] args) {

/*

* 算术运算符

*

* 赋值运算符

*

* 关系运算符

*

* 逻辑运算符

*

* 三元运算符

*/

// 算术运算符 四则运算 + - * /

int a = 10;

int b = 20;

// 在Java中 + - * 运算和生活中的数学运算是一样的,但是 /  不一样

// 在Java中,/是整除,只要商,不要余数

// 使用 % 专门用于求余数 [名次 : 取余| 取模]

// a 除以 b  10 除以 20 = 0 ... 10

System.out.println(a%b);

// 在Java中处理数值类型可以使用 + 号,同时也可以用+ 于表示 连接

// 在字符串[使用双引号包裹] 和变量[/常量]直接可以使用 + 连接[拼接]

// System.out.println("今天温度"+30);

// ++ 自增 : 自己加1个

int age = 18;

age++;// age = age + 1; 从等号的右边开始看,算完后,赋值给左边

System.out.println(age);

// -- 自减 : 自己减1个

int apple = 10;

apple--;

System.out.println(apple);

// ++变量 前自增 , 先加1

// 变量++ 后自增

// 如果变量自增完以后不需要赋值,则没有任何区别;

// 如果自增完以后需要复制给其他变量,则有区别

// ++变量  ,先加1,将自增以后的结果复制其他变量;

// 变量++  ,先将自己赋值给其他变量,然后自己再自增

int aa = 2;

int bb = aa++;

// bb = 2

// aa++ ->3

System.out.println(bb);

System.out.println(aa);

System.out.println("--------------------------------");

int x = 3;

// x = 3

int y = ++x;

// x = 4 y = 4

int z = y++;

// z = 4 y = 5

x++;

// x = 5

++y;

// y = 6

z++;

// z = 5

z = x++;

// z = 5 x = 6

System.out.println(x);//6

System.out.println(y);//6

System.out.println(z);//5

// >>n 右移 除法 2^n

System.out.println(16 >> 5);

// <

System.out.println(4<<2);

}

}


package com.ujiuye.demo;

public class Operator02 {

public static void main(String[] args) {

/*

* 算术运算符

*

* 赋值运算符

*

* 关系运算符

*

* 逻辑运算符

*

* 三元运算符

*/

// 赋值运算符

// =

int a = 99;

// 将等号右边的值,赋值给左边

// 组合的赋值运算符  += -=  *=  /=  %=

a+=100;// a = a + 100;

// a = 199

a-=1; // a = a-1;

System.out.println(a);

int x = 2 ;

x%=3;// x =2 % 3;

System.out.println(x);

// 1234 取出每一位上的数字

// qian = 1

// bai  = 2

// shi = 3

// ge = 4

// 提示 : 利用/ %

// 取出最后一位 % 10 

int num = 1234;

int ge = num % 10;//1234 / 10 = 123 .... 4

System.out.println(ge);

// 将1234 变为123  直接 除以10

num /= 10;

int shi = num % 10;

System.out.println(shi);

// 将123变为12  直接 除以10

num /= 10;

int bai = num % 10;

System.out.println(bai);

// 将12变为1  直接 除以10

num /= 10;

int qian = num % 10;

System.out.println(qian);

}

}



package com.ujiuye.demo;

public class Operator03 {

public static void main(String[] args) {

/*

* 算术运算符

*

* 赋值运算符

*

* 关系运算符

*

* 逻辑运算符

*

* 三元运算符

*/

// 关系运算符

// == != > < >= <=

// 关系运算符的运算结果是布尔值

System.out.println(4==3);

System.out.println(4!=3);

System.out.println(4>3);  //快速复制一行  Ctrl + alt + down

System.out.println(4<3);  //快速复制一行  Ctrl + alt + down

System.out.println(4<=3);  //将本行代码 下移一行  alt + down

}

}


package com.ujiuye.demo;

public class Operator04 {

public static void main(String[] args) {

/*

* 算术运算符

*

* 赋值运算符

*

* 关系运算符

*

* 逻辑运算符

*

* 三元运算符

*/

// 逻辑运算符 是用来两个布尔值的,运算的结果也是布尔值

// & 与 同时 并且

// 运算规则

/*

* 真 & 真 = 真

* 真 & 假 = 假

* 假 & 真 = 假

* 假 & 假 = 假

*

* 全真才为真,有假即为假

*

* */

// int age = 18;

// int rich = 500;

// System.out.println(age > 10 & rich <1000);//真 & 真 = 真

// | 或  或者

// 运算规则

/*

* 真 | 真 = 真

* 真 | 假 = 真

* 假 | 真 = 真

* 假 | 假 = 假

*

* 总结 : 有真则为真,全假才为假

* 有的吃就不挑

* 宫保鸡丁| 红烧鱼| 回锅肉盖饭| 咖喱鸡  有一个都可以  有的吃就不挑

*

*

* */

// System.out.println(age > 20 | rich <300);  //假 | 假

// ! 非 不是 !true  不是true -> false

// 运算规则 : 非真即假  非假即真

// System.out.println(!(age > 30));

// ^ 异或 相异为真 ,相同为假

// 运算规则

/*

* 真 ^ 真 = 假

* 真 ^ 假 = 真

* 假 ^ 真 = 真

* 假 ^ 假 = 假

*

* 总结 : 相异为真 ,相同为假

* */

int age = 18;

int rich = 500;

System.out.println(age > 20 ^ rich <700);

// Java中常用的逻辑运算符

// && 短路与

// 双&  和 单& 的区别

// & 左边为假 , 右边还要计算

// && 左边为假 ,右边不再计算,直接得结果,为假

// && 左边为真, 右边依然要计算,如果右边为真 -> 真结果为真,否则 为假

// || 短路或

// | 左边为真,右边还要计算

// || 左边为真,右边不在计算,直接得结果,为真

// || 左边为假,右边依然要计算,如果右边为真->为真,否则为假

//

}

}


package com.ujiuye.demo;

public class Operator05 {

public static void main(String[] args) {

/*

* 算术运算符

*

* 赋值运算符

*

* 关系运算符

*

* 逻辑运算符

*

* 三元运算符

*/

// 三元运算符  三目运算符

// A ? B  : C

// A + B

// 变量类型 变量名 =  布尔表达式 ? 表达式1 : 表达式2;

// 该 表达式需要一个变量接收

// 运算规则:

// 布尔表达式 为真 执行 表达式1;

// 如果为假 执行表达式2

// 求两个数的最大者

int res01 = 20 >10 ? 20 : 10;

System.out.println(res01);

int age = 19;

String res = age >= 18 ? "可以烫头!": "回家做作业!";

// 注意 : 前面接收的类型,要和返回的结果保持一致;

System.out.println(res);

}

}


package com.ujiuye.demo;

public class TypeTrans {

public static void main(String[] args) {

// 类型转换

// 不同类型的数据可以在一起运算,需要将他们转换为同一类型,就可以进行运算

// 类型转换分为两类

// 隐式类型转换[自动类型转换]  小范围数据转大范围  byte -> short -> int -> long

// 当小范围的数据和大范围的数据在一起运算的时候,或首先首先将小范围的类型转换为大范围的类型,

// 然后再进行计算

byte b1 = 20;

short s1 = 30;

short res = (short)(b1 + s1) ;

//byte -> short  50int > short  Type mismatch: cannot convert from int to short

// 不可以直接将大范围的数据复制给小范围,需要进行强制转换

// 强制转换的格式 : 类型 变量名= (要转换为的类型)(要转换的数据)

// 强制类型转换 [显示类型转换]

// 就是强制将大范围转小范围

long l1 = 130;

int i1 = (int)l1;

short sh1 = (short)i1;

byte by1 = (byte)sh1;//语法上没有问题 

// 强转有风险,使用需谨慎

System.out.println(by1);

// 小数 强转

// float -> double  自动转 

// 小数转整数 

// 常用数据类型的范围[从小到大]

// byte -> short -> char -> int -> long -> float -> double

double dou01 = 3.9999999999999;

int int01 = (int)dou01;

// 将小数转换为整数,会直接舍弃小数点以后的所有数据

System.out.println(int01);

// 将 char 和 int类型转

// char -> int

// int -> char  需要强制转换

char int02 = (char)('A' + 1);

System.out.println(int02);

// 将大小字母 Q 转换为小写字母q;

char res01 = (char)('Q' + 32);

System.out.println(res01);

// 整数 和布尔值 不可以转换

// boolean boo01 = (boolean)1;

}

}

你可能感兴趣的:(day7【Java基础】)