Day1 Java学习笔记

1.java核心优势:跨平台
2.J2EE:服务器应用
  J2SE:个人计算机应用
  J2ME:消费性电子应用
3.JDK:Java Development Kit
  JRE:Java Runtime Environment
  JVM:Java Virtual Machine,是一种规范,可以用软件实现,也可以用硬件实现
  JDK包含JRE,JRE包含JVM
4.DOS命令
  cd=change directory
  dir 显示文件夹目录
  Tab键补齐命令
  javac 把*.java 变成*.class
  java + class名,运行出结果
5.文本编辑器:UltraEdit
6.Public类只有一个且类名必须与文件名一致
7.编程风格:要有缩进/成对编程/见名知意
8.注释:不进行编译,不会写入*.class
    //单行注释
    /*     */多行注释,不能嵌套,即不能一个注释位于一个注释里面
               也可以在代码行里面注释一个单词
9.标识符
    必须用字母、下划线、美元符号开头
    其他部分可以是字母、下划线、美元符号和数字
    对大小写敏感,无长度限制
    不可以是Java的关键字
    注:Java内部采用了Unicode字符集,包括汉字,但不建议用汉字命名
10.编码路线

ISO8859-1
    BIG5
    GB2312-GBK-GB8030
    Unicode(UTF-8/UTF-16)
11.Java是一种强类型的语言,每个变量都必须声明其类型
12.基本数据类型
    数值型
        整数类型byte,int,long,short
        浮点类型float,double
    字符型char
    布尔型boolean
13.byte 1字节 -128——127
   short 2字节
   int   4字节
   long  8字节
   BigDecimal大小数
   BigInteger大整数
14.如果数据大小没有超过byte/short/char的表述范围,可以自动转型
15.声明一个long,后面加大写的L,将数值自动编译为long

 1 public class TestDataType{
 2     
 3     public static void main(String[] args)
 4     {
 5         int a = 10;
 6         System.out.println(a);
 7         System.out.println(Integer.toBinaryString(a));//二进制转换
 8         System.out.println(Integer.toOctalString(a));//八进制转换
 9         System.out.println(Integer.toHexString(a));//十六进制转换
10         
11         int a1 = 10;
12         long a2 = 200;
13         byte a3 = 100;//如果数据大小没有超过byte/short/char的表述范围,可以自动转型
14         
15         long l2 = 11111111111L;//声明一个long,后面加大写的L,将数值自动编译为long
16     }
17 }

16.浮点型
    float
    double
浮点数有两种表示方法
    十进制:3.14
    科学记数法:314E2   314E-2 = 3.14
17.浮点数表示有误差,所以在比较运算应该避免使用浮点数
18.浮点数常量默认类型是double,若想改为float,在其后加F/f

1 public class TestFloatType
2 {
3     public static main()
4     {
5         double a = 3.14;//浮点数常量默认类型是double
6         float b = 3.14F;//若想改为float,在其后加F/f
7         
8     }
9 }

19.字符型
    在运算时,可以直接把char拿来运算
    反义字符

 1 public class TestChar
 2 {
 3     public static void main(String[] args)
 4     {
 5         char c1 = 'a';
 6         char c2 = 'b';
 7         char c3 = '\'';
 8         
 9         System.out.print(c1);
10         System.out.println(c2);
11         System.out.println(c3);
12         
13         char c4 = 'a';
14         int i = c4 + 2;
15         char c5 = (char)i;//强制转型
16         
17         //循环打印
18         for(int j = 0;j<26;j++)
19         {
20             char temp = (char)(c4+j);
21             System.out.print(temp);
22         }
23         
24         //boolean
25         boolean b = false;
26         if (b)
27         {
28             
29         }
30         
31         
32         
33     }
34 }

20.boolean
    有两个值true 和 false
21.类型转化
    自动类型转化
        容量小的数据类型可以自动转换为容量【表述的范围】大的类型(记住图)

   关于类型的自动提升,遵循下边的规则:

  所有的byte、short、char类型的值将提升为int类型;
  如果有一个操作数是long类型,计算结果是long类型;
  如果有一个操作数是float类型,计算结果是float类型;
  如果有一个操作数是double类型,计算结果是double类型;
  自动类型转换图如下:
  byte->short(char)->int->long->float->double
    强制类型转化,如果是强制转换的时候,就将上边的图反过来

22.运算时类型提升问题

public class TestCast
{
    public static void main(String[] args)
    {
        byte b = 123;
        byte b2 =300;
        char c = -3;//不在0-65535之间
        char c2 = 'a';
        int i = c2;
        
        //强制转型
        int i2 = 100;
        char c3 = (char)i2;
        
        //当强制转型超过范围,会截断为一个无意义的值
        int i2 = -100;
        char c3 = (char)i2;
        
        //类型提升
        int a = 2long b = 3int c = a + b;//加减乘除均会有类型提升的问题
        //修改 int c = (long)(a+b);
    }
}

 

posted @ 2016-01-28 13:40  Goessi  阅读(153)  评论(0)    收藏  举报