zoukankan      html  css  js  c++  java
  • java基础入门-语法(1)

    因为平时用到一些java的项目,比如ElasticSearch,zookeeper等,有时也想看看里面怎么实现的,或者看到别人分析原理时候会用到java源码,

    自己也想跟着学一下,最起码能看懂别人的分析,所以就学习一下java的基础知识。有一定其他语言基础,java基础概念学起来也比较顺利。

    这里记录下,以后自己忘了可以再复习。

    一:下载jdk


    https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
    到这里选择你所在的平台的jdk
    我是在windows 64为,所以下载的是 在win下的 64 位平台 jdk8

    安装配置自行gg

    二:编辑器


    我用的是idea编辑器, 导入jdk 8进去,然后就可以开始写代码

    三:编写第一个程序HelloWorld.java


    public class HelloWorld
    {
        public static void main(String[] args)
        {
            System.out.println("Hello world");
        }
    }

    编写java类的一些规则:
    1:类(class): 上面定义了一个类HelloWorld, 这个类的名字必须和.java 文件名相同
    2:包(package):最上面的包 package JavaStudy.com.HelloWorld 必须和目录名一致
    3:方法(main):在java中入口方法就是 main 方法

    编译和运行:
    用javac来编译,命令为:
    javac HelloWorld.java
    在当前路径下会生成一个HelloWorld.class 文件

    用java命令来运行,命令为:
    java HwlloWorld

    四:数据类型


    java中一共有8中基本数据类型
    整数类型:byte,short,int和long
    小数类型:float和double
    字符类型:char
    布尔类型:bool
    小数类型的常量默认是double类型,声明float类型的常量需要使用F作为后缀

    变量:
    计算机语言通常需要在内存中存放数据,比如C语言中的变量,Java也有类似的变量。Java和C语言都是静态类型的语言。在使用变量之前,要声明变量的类型。

    变量(variable)占据一定的内存空间。不同类型的变量占据不同的大小。Java中的变量类型如下:

    存储大小 例值     注释
    byte    1byte  3 字节
    int     4bytes 3 整数
    short   2bytes 3 短整数
    long    8bytes 3 长整数
    float   4bytes 1.2 单精度浮点数
    double  8bytes 1.2 双精度浮点数
    char    2bytes 'a' 字符
    boolean 1bit   true 布尔值

    五:运算符


    算术运算符:+、-、*、/ 和 %,两个整数相除,结果还是整数。
    赋值运算符:=、+=、-=、*=、/=、%=、&=、|=、~=、^=、<<=、>>= 、 >>>=、++ 和 --。
    比较运算符:==、!=、<、<=、> 和 >=。
    逻辑运算符:&&、|| 和 !。
    位运算符:&、|、~、^、<<、>> 和 >>>。

    六:控制结构


    条件:if-else if-else、switch-case-default和三元运算符(?:)。

    if (conditon1) {
        statements;
        ...
    }
    else if (condition2) {
        statements;
        ...
    }
    else {
        statements;
        ...
    }

    switch

    //选择 (switch)
    switch(expression) {
        case 1:
            statements;
            break;
        case 2:
            statements;
            break;
        ...
        default:
            statements;
            break;
    }


    循环:while、do-while、for和foreach。

    //循环 (while)
    while (condition) {
        statements;
    }
     
    //循环 (do... while)
    do {
        statements;
    } while(condition);  // 注意结尾的;
     
    //循环 (for)
    for (initial; condition; update) {
        statements;
    }


    跳过或跳出循环
    在循环中,可以使用

    break; // 跳出循环
    continue; // 直接进入下一环

    七:数组


    java中数组就是包含多个相同类型元素。 可以用下面的方法来声明
    int[] a
    在声明数组时,数组所需的空间并没有真正分配给数组。我可以在声明的同时,用new来创建数组所需空间:
    int[] a = new int[100];
    这里创建了可以容纳100个整数的数组。相应的内存分配也完成了。

    我还可以在声明的同时,给数组赋值。数组的大小也同时确定。
    int[] a = new int[] {1, 3, 5, 7, 9};

    public class arr1
    {
        public static void main(String[] args)
        {
            String[] strs = {"测试", "数组", "demo"};
    
            for (String item : strs) {
                System.out.println(item);
            }
        }
    }

    八:字符串


    String是拥有“值语义”的引用类型,equals会按照内容进行比较,==按照地址比较。

    public class str1
    {
        public static void main(String[] args)
        {
            String x = "demo";
            String y = new String("demo");
    
            System.out.println(x.equals(y)); //true
            System.out.println(x == y);   //false
        }
    }

    高效修改字符串的StringBuffer

    public class strbuf
    {
        public static void main(String[] args)
        {
            StringBuffer sb = new StringBuffer()
                              .append("demo")
                              .append("-stringbuffer")
                              .append(" java demo");
            System.out.println(sb);
        }
    }

    还有一些特殊字段,接口,内部类,继承,多态,封装,以后在写。。。

    这个blog写的java基础和java进阶都可以看看:

    http://www.cnblogs.com/vamei/archive/2013/03/31/2991531.html

  • 相关阅读:
    HTTP协议详解
    【VC++开发实战】迅雷晒密及批量查询流量程序
    C/C++中指针和引用之相关问题研究
    C++类中拷贝构造函数详解
    构造函数为什么不能是虚函数
    High一下!
    文件搜索神器everything 你不知道的技巧总结
    不要被C++“自动生成”所蒙骗
    对象的传值与返回
    深入浅出Node.js (3)
  • 原文地址:https://www.cnblogs.com/jiujuan/p/10274985.html
Copyright © 2011-2022 走看看