Java基本语法.part02

变量

变量的概念:

  内存中的一个存储区域

  该区域有自己的名称(变量名)和类型(数据类型)

  Java中每个变量必须先声明,后使用

  该区域的数据可以在同一类型范围内不断变化

使用变量注意:

  变量的作用域:一对{ }之间有效

  初始化值

定义变量的格式:

  数据类型 变量名 = 初始化值

  变量是通过使用变量名来访问这块区域的

变量类型:

  byte    1字节(8bit)

  short     2字节

  int     4字节

  long     8字节

  float     4字节

  double    8字节

  boolean

java的整数型常默认为int类型,申明long型常量必须后加'l'或者'L',小数默认的是double,申明float时,后面要加'f'

小练习:

关于计算的练习

 1 public class CalcTest {
 2     
 3     public static void main(String[] args) {
 4         byte b1 = 100;
 5         short s1 = 200;
 6         b1 = (byte)(b1 + s1); // 任意整数相加, 整数的四个字节中的前三个直接丢弃
 7                  // 都会自动转型为int型作运算,结果值也是int型
 8         System.out.println("b1 : " + b1); 
 9         float f1 = 2.3f; // 不可以, 浮点数的字面量默认是double数据类型
10         double d1 = 2.3;
11         //float f2 = d1;// 不能直接赋值, 必须强制类型转换
12         float f2 = (float)d1;
13         f2 = b1 - s1 + f1 ; // 程序自动把所参与运算的数据升级为float
14         // 下面的这个赋值也不能成功!! 因为是double赋值于float
15         //f2 = b1 - s1 + f1 + d1 ; // 程序自动把所参与运算的数据升级为double
16         f2 = (float)(b1 - s1 + f1 + d1) ; // 程序自动把所参与运算的数据升级为double
17         
18         int num = (int)2999999999L;
19         System.out.println(num);
20         System.out.println('a'+1+"Hello!");   
21 
22 
23         
24     }
25     
26 }

小运算

 1 public class Exer {
 2     
 3     /*
 4     字符串简单介绍后练习:
 5     1 写一个Variable类,
 6       main方法中使用double类型声明var1和var2变量,
 7       然后用var2保存var1与var2之商。
 8     2 声明字符串变量str,
 9       用str串接的形式表示上述计算过程并打印输出结果。
10       var1 = 300 var2 = 400
11       300 / 400 = 0.7
12     */    
13     public static void main(String[] args) {
14         double var1 = 100;
15         double var2 = 200;
16         String str = "来个字符串" + var1 + '/' + var2 + '='; // 抓住时机,趁var2还未改变之前串接在字符串中
17         var2 = var1 / var2; // 再进行运行,把结果保存在var2中
18         str = str + var2; // 再把结果串接在字符串中.
19         System.out.println(str);
20         
21         String str2 = "2342";
22         int num = Integer.parseInt(str2);
23         System.out.println(num);
24     }
25     
26 }

字符串的拼接

 1 public class ComSetTest {
 2     
 3     public static void main(String[] args) {
 4         int n = 10; 
 5         System.out.println("n:" + n);
 6         n += 20; //复合赋值运算 // n: 30
 7         // 等效于
 8         // n = n + 20;
 9         System.out.println("n:" + n);
10         n /= 10; 
11         // 等效于
12         // n = n / 10;  n:3
13         System.out.println("n:" + n);
14         
15         n %= 2;
16         // 等效于 n = n % 2; 
17         System.out.println("n:" + n);
18         
19         short s = 10;
20         //s = s + 2; //这个语句会导致编译错误,因为右面的值运算出来后是int类型的
21         s += 2;
22         
23         int i = 1;
24         //i = i * 0.1;
25         i *= 0.1;
26         System.out.println(i);//
27         i++;
28         System.out.println(i);//
29     }
30     
31 }

位运算

 1 public class Exer2 {
 2     
 3     /*
 4     练习
 5     int var1 = 0x56; // 需要注意的是, 整数是4个字节,共32个比特位
 6     int var2 = 0xF2;
 7     对两个数进行按位取反
 8     int var3 = ~var1;
 9     int var4 = ~var2;
10     再按位与,或,异或的结果打印输出*/
11     public static void main(String[] args) {
12         int var1 = 0x56;
13         // 0000 0000 0000 0000 0000 0000 0101 0110 取反
14         // 1111 1111 1111 1111 1111 1111 1010 1001 (-87的补码)
15         int var3 = ~var1;
16         System.out.println("~0000 0000 0000 0000 0000 0000 0101 0110 : " + var3);
17         int var2 = 0xF2;
18         // 0000 0000 0000 0000 0000 0000 1111 0010 取反
19         // 1111 1111 1111 1111 1111 1111 0000 1101 
20         int var4 = ~var2;
21         System.out.println("~var : " + var4);
22         // 0000 0000 0000 0000 0000 0000 0101 0110 &
23         // 0000 0000 0000 0000 0000 0000 1111 0010 =
24         // 0000 0000 0000 0000 0000 0000 0101 0010 -> 0x52 -> 82        
25         int var5 = var1 & var2;
26         System.out.println("var1 & var2 = " + var5);
27         // 0000 0000 0000 0000 0000 0000 0101 0110 |
28         // 0000 0000 0000 0000 0000 0000 1111 0010 =
29         // 0000 0000 0000 0000 0000 0000 1111 0110 -> 0xF6 -> 15*16+6 = 246
30         int var6 = var1 | var2;
31         System.out.println("var1 | var2 = " + var6);
32         
33         // 0000 0000 0000 0000 0000 0000 0101 0110 ^
34         // 0000 0000 0000 0000 0000 0000 1111 0010 =
35         // 0000 0000 0000 0000 0000 0000 1010 0100 -> 0xA4 -> 164;  
36         int var7 = var1 ^ var2;
37         System.out.println("var1 ^ var2 = " + var7);
38     }
39 
40     
41 }

短路运算

 1 public class LogicTest {
 2     
 3     public static void main(String[] args) {
 4         boolean a = true;
 5         boolean b = true;
 6         System.out.println("a && b : " + (a && b)); // true
 7         System.out.println("a || b : " + (a || b)); // true
 8         System.out.println("!a : " + !a); // false
 9         
10         System.out.println("----------------------------------");
11         a = true;
12         b = false;
13         System.out.println("a && b : " + (a && b));// false
14         System.out.println("a || b : " + (a || b));// true
15         System.out.println("!a : " + !a); // false
16         
17         System.out.println("----------------------------------");
18         a = false;
19         b = true;
20         System.out.println("a && b : " + (a && b));// false 
21         System.out.println("a || b : " + (a || b));// true
22         System.out.println("!a : " + !a); // true
23         
24         System.out.println("----------------------------------");
25         a = false;
26         b = false;
27         System.out.println("a && b : " + (a && b));// false 
28         System.out.println("a || b : " + (a || b));// false
29         System.out.println("!a : " + !a); // true
30         
31     }
32     
33 }

简单的if流程

 1 public class IfTest {
 2         /*
 3         从命令行参数接收小明的期末成绩。
 4         当成绩为100分时,奖励一辆BMW;
 5         当成绩为(80,99]时,奖励一个台iphone5s;
 6         当成绩为[60,80]时,奖励一本参考书;
 7         其它时,什么奖励也没有。*/
 8     public static void main(String[] args) {
 9         
10         int score = Integer.parseInt(args[0]);
11         if (score == 100) {
12             System.out.println("66666,给你一个BMW。。。");
13         } else if (score > 80 && score <= 99) {
14             System.out.println("还不错,给你一台iphone5s。。。");
15         } else if (score >= 60 && score <= 80) {
16             System.out.println("马马虎虎,给你一本书回家多看看。。。");
17         } else if (score >= 0 && score <= 60) {
18             System.out.println("我擦,不及格,好好玩。。。");
19         } else {
20             System.out.println("大哥,输错了吧。。。");
21         }
22         //System.out.println("所接受的命令行参数是:" + score);
23     }
24     
25 }

变量的注意事项:

  1.变量必须有类型

  2.变量必须有名称

  3.变量必须先声明后使用

  4.变量的范围是它所属的一个大括号(一个结构)

  5.变量在相同的范围内不可以重复定义

变量的分类:

  1.按照变量的类型

    1.基本数据类型的变量

      byte,short,int,long,float,double,char,boolean

        byte < short<

                int < long < float < double

            char <

    2.引用类型的变量

      类型 引用变量;

      String str = "我是一个字符串";

      一个字符串可以和任意类型的数值进行拼接,产生一个新的字符串

  2.按照变量声明所在的位置

    1.局部变量  在方法中申明的变量

    2.成员变量(对象属性)或者叫实例变量

 

算数运算符

  + - * / :支持任意两个或多个数值型数据或char类型

  %: A % B, 只能支持整数型和char类型

  &&:短路与  前面条件为假时,后面不进行判断

三目运算

  变量 = 布尔表达式?表式1:表式2;

原文地址:https://www.cnblogs.com/alwaysInMe/p/6361535.html