zoukankan      html  css  js  c++  java
  • 【原】Java学习笔记003

    1 package cn.temptation;
    2 
    3 public class Sample01 {
    4     public static void main(String[] args) {
    5         System.out.println("第一个例子");
    6     }
    7 }
     1 package cn.temptation;
     2 
     3 public class Sample02 {
     4     public static void main(String[] args) {
     5         // Java的基本数据类型
     6         // 分为四大类,共八种数据类型
     7         /*                        占用字节数
     8          * 1、整数类型
     9          * byte:    字节类型            1            -128~127
    10          * short:    短整型            2
    11          * int:        整型                4
    12          * long:    长整型            8
    13          * 
    14          * 2、浮点数类型
    15          * float:    单精度类型        4
    16          * double:    双精度类型        8
    17          * 
    18          * 3、字符类型
    19          * char:    字符类型            2
    20          * 
    21          * 4、布尔类型
    22          * boolean:    布尔类型            1
    23          */
    24         
    25         // 变量:在程序执行过程中发生变化的量
    26         
    27         // 思考:为什么要使用变量?全部都使用常量行不行?
    28 //        System.out.println(123);
    29 //        System.out.println(123);
    30 //        System.out.println(123);
    31         
    32         // 现在要进行修改,不要显示123了,要显示456,那么需要把前面使用常量123的地方全部改为常量456
    33 //        System.out.println(456);
    34 //        System.out.println(456);
    35 //        System.out.println(456);
    36         
    37         // 注意:使用变量是一种思想:通过封装变化来达到拥抱变化的结果,即在变化时,只需要修改变量赋值的地方,不需要修改变量使用的地方
    38         // int i = 123;
    39         // 变化时,只要修改变量赋值的地方
    40         // int i = 456;
    41         
    42         // 把变量使用的地方 和 变量赋值的地方 分离开
    43 //        System.out.println(i);
    44 //        System.out.println(i);
    45 //        System.out.println(i);
    46         
    47         // 定义变量的格式:
    48         // 数据类型        变量名        =       初始化的值;
    49         
    50         byte i = 3;
    51         System.out.println(i);
    52         
    53         short j = 4;
    54         System.out.println(j);
    55         
    56         int k = 123;
    57         System.out.println(k);
    58         
    59         // Java中书写整型数字,不加说明,默认认为是int类型
    60         // The literal 12345678901 of type int is out of range
    61         // long m = 12345678901;
    62         // 要使用long类型,需要在数字后添加大写的L 或是 小写的l(因为小写的l和数字1容易混淆,所以使用大写的L)
    63         long m = 12345678901L;
    64         System.out.println(m);
    65         
    66         // Java中书写浮点书数字,不加说明,默认认为是double类型
    67         // Type mismatch: cannot convert from double to float
    68         // float x = 123.456;
    69         // 要使用float类型,需要在数字后添加大写的F 或是 小写的f(为了保持风格的一致,所以使用大写的F)
    70         float x = 123.456F;
    71         System.out.println(x);
    72         
    73         double y = 987.654;
    74         System.out.println(y);
    75         
    76         // 字符类型使用单引号把字符包含其中
    77         char z = 'a';
    78         System.out.println(z);
    79         
    80         // 布尔类型有两个特殊值:true 和 false
    81         boolean flag1 = true;
    82         boolean flag2 = false;
    83         System.out.println(flag1);
    84         System.out.println(flag2);
    85     }
    86 }
     1 package cn.temptation;
     2 
     3 public class Sample03 {
     4 //    int i = 123;
     5     
     6     public static void main(String[] args) {
     7         // 使用变量的注意事项:
     8         /*
     9          * 1、作用范围(作用域):通过大括号来划定作用范围,变量不在该大括号内且没有其他的范围描述时,是无法使用的
    10          * 2、在同一作用域下,变量不能重复命名
    11          * 3、变量的初始化值:
    12          *         变量没有初始化就直接使用会语法出错
    13          *         要不在声明变量的时候就进行变量的初始化;要不就在使用的时候进行初始化
    14          */
    15 //        int i = 123;
    16         // 在主函数之外定义int类型的变量i,在主函数中(大括号)中无法访问到
    17         // Cannot make a static reference to the non-static field i
    18 //        System.out.println(i);
    19         
    20 //        int i = 3;
    21 //        System.out.println(i);
    22         // Duplicate local variable i
    23 //        int i = 4;
    24 //        System.out.println(i);
    25         
    26         // 只对变量进行声明但是不赋值
    27 //        int i;
    28         // 对只声明但是不赋值的变量直接使用
    29         // The local variable i may not have been initialized
    30 //        System.out.println(i);
    31         
    32         // 先做声明
    33 //        int i;
    34         // 在使用前进行赋值
    35 //        i = 5;
    36         // 再使用变量,这样没有语法问题
    37 //        System.out.println(i);
    38         
    39         // 声明变量时并对变量进行初始化赋值(初始化)
    40 //        int i = 2;
    41         
    42         // 如下写法语法没有问题,但是不建议这样写(可读性差)
    43 //        int i = 2; int j = 3;
    44 //        System.out.println(i);
    45 //        System.out.println(j);
    46         
    47         // 如下写法也可以,但是不推荐这样写
    48 //        int i = 2, j = 3;
    49 //        System.out.println(i);
    50 //        System.out.println(j);
    51         
    52         // 在一行语句中对多个变量进行声明是可以的,并且多个变量之间使用英文的逗号分隔开
    53         int i, j;
    54         // 在一行语句中对于声明好的多个变量进行赋值,不能使用英文的逗号分隔开进行赋值,而只能使用英文的分号分隔开进行赋值
    55         // Syntax error on token ",", ; expected
    56 //        i = 2, j = 3;
    57         i = 2; j = 3;
    58         // 上句等价于
    59         i = 2;
    60         j = 3;
    61         System.out.println(i);
    62         System.out.println(j);
    63     }
    64 }
     1 package cn.temptation;
     2 
     3 public class Sample04 {
     4     public static void main(String[] args) {
     5         // 两个int类型的变量做加法
     6 //        int i = 2;
     7 //        int j = 3;
     8 //        int result = i + j;
     9 //        System.out.println(result);
    10         
    11         // byte类型的变量 和 int类型的变量做加法
    12 //        byte i = 2;
    13 //        int j = 3;
    14 //        int result = i + j;
    15 //        System.out.println(result);
    16         
    17         // int类型的变量 和 int类型的变量做加法,得到的结果赋值给一个byte类型的变量
    18 //        int i = 2;
    19 //        int j = 3;
    20         // Type mismatch: cannot convert from int to byte
    21         // 赋值号右侧两个int类型的变量相加,得到的结果还是一个int类型的结果,把这个int类型的结果赋值给byte类型的变量,提示类型不匹配
    22 //        byte result = i + j;
    23 //        System.out.println(result);
    24         
    25         // byte类型的变量 和 int类型的变量做加法,得到的结果赋值给一个byte类型的变量
    26 //        byte i = 2;
    27 //        int j = 3;
    28         // Type mismatch: cannot convert from int to byte
    29         // 赋值号右侧byte类型的变量  和  int类型的变量相加,得到的结果还是一个int类型的结果(类型提升),把这个int类型的结果赋值给byte类型的变量,提示类型不匹配
    30 //        byte result = i + j;
    31 //        System.out.println(result);
    32         
    33         // 解决类型不匹配错误的方法:
    34         /*
    35          * 1、将结果的数据类型改为范围大的数据类型
    36          * 2、使用强制类型转换,注意可能会发生精度丢失的问题
    37          *         联想一下:小碗盛米,大锅里的米比较少的时候,倒入小碗中是没有问题的;大锅里的米比较多的时候,倒入小碗里就有问题了
    38          */
    39         
    40         // 强制类型转换的格式:(要转换为的数据类型)(被转换的数据内容);
    41         int i = 2;
    42         int j = 3;
    43         byte result = (byte)(i + j);
    44         System.out.println(result);
    45     }
    46 }
     1 package cn.temptation;
     2 
     3 public class Sample05 {
     4     public static void main(String[] args) {
     5         // 字面量常量整数不加说明,默认是int类型
     6 //        byte i = 127;
     7 //        System.out.println(i);
     8         
     9 //        byte i = (byte)127;
    10 //        System.out.println(i);
    11         
    12         // Type mismatch: cannot convert from int to byte
    13 //        byte j = 130;
    14 //        System.out.println(j);
    15         
    16         byte j = (byte)130;
    17         System.out.println(j);        // -126
    18     }
    19 }
    20 /*
    21  * 原码、反码 和 补码
    22  * 规则:
    23  * 1、正数的原码、反码和补码都相同
    24  * 2、负数的反码和原码符号位相同,其他位取反;负数的补码  = 负数的反码 + 1;
    25  * 3、计算机在进行运算时,使用的是补码,最终显示出来的是原码
    26  * 
    27  * int类型的正整数130的原码:0000 0000 0000 0000 0000 0000 1000 0010
    28  * int类型的正整数130的反码:0000 0000 0000 0000 0000 0000 1000 0010
    29  * int类型的正整数130的补码:0000 0000 0000 0000 0000 0000 1000 0010
    30  * 
    31  * 强制类型转换做了截取
    32  * 
    33  * byte类型的           补码:1000 0010        最高位是符号位
    34  * byte类型的           反码:1000 0001    
    35  * byte类型的           原码:1111 1110        -126
    36  */
     1 package cn.temptation;
     2 
     3 public class Sample06 {
     4     public static void main(String[] args) {
     5         double i = 123.45;
     6         System.out.println(i);
     7         
     8         // 在单精度浮点数后添加F 和 对单精度浮点书进行强制类型转换为float类型,效果一致
     9 //        float j = 987.65F;
    10         float j = (float) 987.65;
    11         System.out.println(j);
    12     }
    13 }
     1 package cn.temptation;
     2 
     3 public class Sample07 {
     4     public static void main(String[] args) {
     5         // 定义两个byte类型的变量
     6 //        byte i = 2;
     7 //        byte j = 3;
     8         
     9         // Type mismatch: cannot convert from int to byte
    10         // 使用加号进行加法计算时,对于比int类型范围小的数据类型进行了类型提升
    11 //        byte result = i + j;
    12 //        byte result = (byte) (i + j);
    13 //        System.out.println(result);
    14         
    15         // 第11行使用byte类型的变量相加提示语法错误,第16行使用int类型的字面量常量相加没有语法错误
    16         byte result = 2 + 3;
    17         
    18         // Type mismatch: cannot convert from int to byte
    19 //        byte result = 2 + 126;
    20         
    21         System.out.println(result);
    22         
    23         // 注意:
    24         // 变量相加,先看变量的数据类型是否有问题
    25         // 常量相加,先看结果是否在被赋值的变量的数据类型范围内
    26     }
    27 }
     1 package cn.temptation;
     2 
     3 public class Sample08 {
     4     public static void main(String[] args) {
     5         // char字符类型 和 整型存在转换的关系
     6         System.out.println('a');            // a
     7         
     8         char i = 'b';
     9         System.out.println(i);                // b
    10         
    11         // 把字符'c' 和 int类型的数字1做加法,加出来的结果赋值给char类型的变量j
    12         // 因为j的数据类型为char字符类型,所以输出的结果还是字符
    13         char j = 'c' + 1;
    14         System.out.println(j);                // d
    15         
    16         // 字符类型和int类型做加法,得到的结果是int类型
    17         System.out.println('c' + 1);        // 100
    18         
    19         // 字符类型和int类型做加法,得到的结果是int类型
    20         System.out.println('B' + 'e' + 'i' + 'J' + 'i' + 'n' + 'g' + 2008);        // 2672
    21         
    22         // 字符类型和字符类型做加法,得到的结果是int类型
    23         System.out.println('B' + 'e' + 'i' + 'J' + 'i' + 'n' + 'g');            // 664
    24         
    25         // 布尔类型不参与加法运算
    26         // The operator + is undefined for the argument type(s) boolean, int
    27 //        System.out.println(true + 1);
    28         
    29 //        boolean flag = false;
    30         // The operator + is undefined for the argument type(s) boolean, int
    31 //        System.out.println(flag + 1);
    32     }
    33 }
  • 相关阅读:
    Eclipse中普通java项目转成Web项目
    spring MVC 转发与重定向(传参)
    spring MVC <mvc:annotation-driven>
    spring MVC 全局的异常处理
    spring MVC拦截器
    Spring Bean的作用域
    Spring 常用注解
    在普通类中获取Spring管理的bean
    Spring事务配置
    spring在普通类中获取session和request
  • 原文地址:https://www.cnblogs.com/iflytek/p/6443130.html
Copyright © 2011-2022 走看看