zoukankan      html  css  js  c++  java
  • 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;

  • 相关阅读:
    星空雅梦
    星空雅梦
    星空雅梦
    星空雅梦
    星空雅梦
    星空雅梦
    code=exited,status=1/failure;failed to start LSB:Bring up/down networking
    Eclipse安装AmaterasUML插件问题
    Navicat如何导出Excel格式表结构
    powerdesigner生成mysql带注释的ER图
  • 原文地址:https://www.cnblogs.com/alwaysInMe/p/6361535.html
Copyright © 2011-2022 走看看