<JAVA-常量、运算符、类型转换、Scanner>
01复习和常量:
package GUIJIN_fuxihechangliang; /** * 复习: * 数据类型: * 基本数据类型: * 数值型:byte short int long * 浮点型:float double * 字符型: * char * 布尔型: * boolean * 引用数据类型: * 类: String * 数组 * 接口 * 变量:一个存储空间的表示(值可以进行更改) * 语法: * 数据类型 变量名 = 值 ; * * 既然有可变的东西,就有不变的东西 --> 常量 * * final: * 内存一旦被分配,值不允许改变。 * 语法: * 在声明变量时,前面加final关键字,为了与变量区别,常量的命名规范为字母全部大写 * * @author 韦桂金 * */ public class fuxi { public static void main(String[] args) { // 3.14159 圆周率 //double Pi = 3.14159; //Pi = 8.88; final double PI = 3.14159; // 只允许赋值一次 // PI = 6.354; // 报错 System.out.println(PI); } }
02运算符:
package GUIJIN_yunfu; /** * 赋值运算赋和扩展赋值运算符: * = += -= *= /= * * @author 韦桂金 * */ public class fuzhi_Demo02 { public static void main(String[] args) { int num1 = 12,num2 = 15; // =(赋值运算符):把等号右边的赋值赋给等号左边; // 扩展赋值运算符 num2 += num1; // 相当于 :num2 = num2 + num1; System.out.println("==============加法=============="); System.out.println(num1); System.out.println(num2); } }
package GUIJIN_yunfu; /** * 关系运算符: * > < >= <= == != * * @author 韦桂金 * */ public class guanxi_Demo03 { public static void main(String[] args) { // 连续声明num1,num2; int num1 = 12,num2 = 20; System.out.println(num1<num2); // true System.out.println(num1>num2); // false System.out.println(num1<=num2); // true System.out.println(num1>=num2); // false System.out.println(num1==num2); // false System.out.println(num1!=num2); // true } }
package GUIJIN_yunfu; /** * 逻辑运算符: * && || ! & | * &&(短路与(并且)): 当两组数同时比较时,在逻辑运算符中,如果两边的结果都为true,结果才为true * ||(短路或(或者)): 当两组数同时比较时,在逻辑运算符中,如果两边的结果只要有一方时true,结果就是true * &(与): * 两种使用方式: 当两边都是关系运算符的时候,进行逻辑运算;两边为:true,结果为:true * 当两边都是数值时,进行位运算;把数值转成二进制数 -> 两边都是:1,结果为:1,否则为:0 * |(或): * 两种使用方式: 当两边都是关系运算符的时候,进行逻辑运算;两边的结果只要有一方是true,结果就为:true * 当两边都是数值时,进行位运算;把数值转成二进制数 -> 一方为:1,结果为:1,否则为:0 * @author 韦桂金 * */ public class luoji_yunsunfuDemo04 { public static void main(String[] args) { // 声明两个变量用户演变比较的结果 int num1 = 10,num2 = 20; System.out.println("=================分割线<&&>=================="); System.out.println(num1<num2&&num1>num2); // 结果为:false System.out.println(num1<num2&&num1<num2); // 结果为:true System.out.println("=================分割线<||>=================="); System.out.println(num1>num2||num1<num2); System.out.println(num1<num2||num1<num2); System.out.println("=================分割线<&>=================="); System.out.println(num1<num2&num1>num2); // 结果为:false System.out.println(num1<num2&num1<num2); // 结果为:true System.out.println("=================分割线<|>=================="); System.out.println(num1>num2|num1<num2); System.out.println(num1<num2|num1<num2); System.out.println("=================分割线=================="); System.out.println("8&4: "+(8&4)); System.out.println("8|4: "+(8|4)); } }
package GUIJIN_yunfu; /** * 三元运算符: * 用来在两个结果中选择一个,如果第一个数是true输出第一个值,如果false输出第二个值 * 条件 ?结果1 : 结果2; * * 连接符: * +: * 字符串后面: 拼接 * 字符串前面: 运算 * @author 韦桂金 * */ public class sanyuanyunsuanfu_Demo06 { public static void main(String[] args) { boolean a = true; int b = 6,c = 4; System.out.println(a?b:c); System.out.println("我是呵呵!"+b+c); // 连接符 System.out.println(c+b+"ii嘻嘻~~"); // 运算拼接 } }
package GUIJIN_yunfu; /** * 位运算符: * & | ^ ~ << >> * ^(异或): * 以二进制数为基础进行运算,也就是说当代码中使用到异或运算时,会将十进制数转成二进制数,再进行运算 * 异或中同位如果值相同(都是1或者都是0)为:0,不同(一个是:0,一个是:1)为:1 * ~(按位非): * 对每一位运算数取反。 * 例如: * 42 * 0101010 * 1010101 * * @author 韦桂金 * */ public class weiyunsuanfu_Demo05 { public static void main(String[] args) { // 声明变量 int a = 15,b = 7,c; /* * a 和 b的二进制: * a: 1111 * b: 0111 */ // 异或 c = a^b; System.out.println("=================异或(^)================="); System.out.println(c); System.out.println("=================取反(~)================="); System.out.println(~5); // 正数: 取反加1 System.out.println(~-5); // 负数: 取反减1 System.out.println("=================左移(<<)================="); /* * 左移 -->乘 2(左移一位,就乘以2,移二位-->乘2次) */ System.out.println(2<<2); // 2*2*2 System.out.println(8<<5); // 8*2*2*2*2*2 System.out.println("=================右移移(>>)================="); /* * 右移 除2 */ System.out.println(4>>2); // 4/2/2 System.out.println(8>>5); // 8/2/2/2/2/2 } }
package GUIJIN_yunfu; /** * 算术运算符: * + - * / % ++ -- * * @author 韦桂金 * */ public class yunsuanfu { public static void main(String[] args) { // 声明一个整数的变量 int num1 = 23,num2 = 10,num3; // 连续声明int类型变量num1,num2,num3; // 运算 num3 = num1 + num2; System.out.println("加法:"+num3); num3 = num1 - num2; System.out.println("减法:"+num3); num3 = num1 * num2; System.out.println("乘法:"+num3); num3 = num1 / num2; System.out.println("除法:"+num3); num3 = num1 % num2; System.out.println("求余:"+num3); int a1,a2,a3,a4; a1 = num1++; a2 = ++num1; System.out.println("后加加:"+a1); System.out.println("前加加:"+a2); System.out.println("=================减减=============="); a3 = num2--; a4 = --num2; System.out.println("后减减:"+a3); System.out.println("前减减:"+a4); } }
03数据类型转换:
package GUIJIN_shujuleixingzhuanhauai; /** * 数据类型的数学题: * 考试: * 81.29 上次比这次多2分 上次多少分? * * * 自动类型转换:容量小的转容量大的 * 强制类型转换:容量大的转容量小的 * * 容量顺序: * byte<short||char<int<long<float<double * * char 和 short 在进行运算的时候 结果自动为int类型 * @author 韦桂金 * */ public class leixingzhuanhuan_Demo01 { public static void main(String[] args) { // 声明一个变量 存储本次的分数 double acore = 81.29; int cha = 2; // 计算上次的分数 //double sum = acore + cha; int sum = (int) (acore + cha); System.out.println("本次的分数是: "+acore); System.out.println("上次的分数是: "+sum); //long a = 12; // 大水杯 //int b = a + 3; // 小水杯 //System.out.println(b); // char类型 char c = 23; short b = 20; int a = c + b; System.out.println(a); }
04Scanner:
package GUIJIN_Scanner; /** * Scanner:用于键盘输入 * 步骤: * 【1】导包 * import java.util.Scanner; * 【2】创建一个Scanner对象 * Scanner input = new Scanner(System.in); * 【3】接收 * String name = input.next(); * int age = input.nextInt(); * double height = input.nextDouble(); * char gender = input.next().charAt(); * * * @author 韦桂金 * */ import java.util.Scanner; // 导包 public class Scanner_Demo01 { public static void main(String[] args) { // 创建对象 Scanner input = new Scanner(System.in); System.out.println("请输入你的姓名:"); String name = input.next(); System.out.println("请输出你的年龄:"); int age = input.nextInt(); System.out.println("请输出你的身高:"); float height = input.nextFloat(); System.out.println("请输出你的性别:"); char gender = input.next().charAt(0); // 只取字符串中的第一位数 // 打印 System.out.println("姓名:"+name+"\n年龄:"+age+"\n身高:"+height+"m"+"\n性别:"+gender); } }