java学习笔记1

  java是sun公司于1995年5月推出的Java面向对象程序设计语言和Java平台的总称。

  • hello world
    安装好jdk后,创建一个test.java文件,写入以下代码
    1
    2
    3
    4
    5
    6
    public class test1{
    public static void main(String[] args){
    System.out.println("hello world!");
    }
    }
    保存后,在终端切到文件对应目录,运行javac test.java编译文件,编译后在当前目录会生成一个test1.class文件,在终端直接执行java test1,就会打印出hello world!
  • 变量声明
    1
    2
    3
    4
    5
    6
    7
    public class test1{
    public static void main(String[] args){
    // 变量声明方式: 变量类型 变量名 [= value];
    String name = "storm";
    System.out.println(name);
    }
    }
  • 变量类型

    1
    2
    3
    4
    5
    6
    int a, b, c;         // 声明三个int型整数:a、 b、c
    int d = 3, e = 4, f = 5; // 声明三个整数并赋予初值
    byte z = 22; // 声明并初始化 z
    String s = "runoob"; // 声明并初始化字符串 s
    double pi = 3.14159; // 声明了双精度浮点型变量 pi
    char x = 'x'; // 声明变量 x 的值是字符 'x'。
  • 条件判断

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    public class test2 {
    public static void main(String[] args){
    /*
    if (条件1){
    逻辑1
    }else if (条件2){
    逻辑2
    }else{
    逻辑3
    }
    */
    int a = 59;

    if ( a >= 80 ){
    System.out.println("优秀"+a);
    }else if (a< 60){
    System.out.println("不及格"+a);
    }else {
    System.out.println("良好"+a);
    }

    }
    }
  • 循环

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    public class test2 {
    public static void main(String[] args){
    for (int i = 0;i<10;i+=1){
    System.out.println("0");
    }
    int j = 10;
    while (j>0){
    System.out.println("1");
    j-=1;
    }
    int k = 0;
    do {
    System.out.println("2");
    k += 1;
    }while (k<10);
    }
    }
  • 类和方法

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    public class test2 {
    public static void main(String[] args){
    for (int i = 0;i<10;i+=1){
    System.out.println("0");
    }
    int j = 10;
    while (j>0){
    System.out.println("1");
    j-=1;
    }
    int k = 0;
    do {
    System.out.println("2");
    k += 1;
    }while (k<10);
    }
    }
  • 修饰符
    java修饰符有访问修饰符和非访问修饰符
  1. 访问修饰符有public,protected,private,default,
    public修饰的成员对任何类的成员可见
    protected修饰的成员对同一包下的类成员和子类成员可见
    default修饰的成员只对同包下的类成员访问,子类不可访问
    private修饰的成员只能被自身的类访问,
    2。 非访问修饰符有static,final,abstract,transient,volatile,synchronized
    static修饰类表示内部类,可以直接实例化;修饰方法不需要实例对象也可以访问,修饰变量所有实例都可以访问
    final修饰类不可以继承,修饰方法不可以重写,修饰变量不可以修改
    abstract修饰类不可以实例化,即使用必须继承,修饰方法没有实现,子类必须要实现
    transient,修饰变量,无需序列化
    violate修饰变量,用于多线程,在每次被线程访问时,都强制从共享内存中重新读取该成员变量的值。而且,当成员变量发生变化时,会强制线程将变化值回写到共享内存。这样在任何时刻,两个不同的线程总是看到某个成员变量的同一个值。
    synchronized修饰方法使方法同一时间只能被一个线程访问
  • 包封装的实验
    创建目录package1,切换到package1里,创建第一个java文件test1.java,写入代码

    package1/test1.java
    1
    2
    3
    4
    5
    6
    7
    package package1;

    public class test1 {
    public void myprint(){
    System.out.println("hello");
    }
    }

    创建第二个java文件,test2.java,写入代码

    package1/test1.java
    1
    2
    3
    4
    5
    6
    7
    package package1;
    public class test2 {
    public static void main(String[] args){
    test1 test22 = new test1();
    test22.myprint();
    }
    }

    切换到package1同级目录下,javac package1/test1.java ;javac package1/test2.java 编译文件,然后运行,java package1.test2 输出”hello”
    若要在其他包下面使用myprint方法,可以使用import package1.test1; 语句导入

  • HashMap
    普通数组通过下标作为内容索引,而map使用自定义key进行对value的索引

    package1/test1.java
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    import java.util.HashMap;
    public class test3 {
    public static void main(String[] args){
    HashMap<String, String> dic = new HashMap<>();
    dic.put("name","storm");
    dic.put("sex","man");
    System.out.println(dic);
    System.out.println(dic.get("name"));
    }
    }

    输出结果为:
    {sex=man, name=storm}
    storm
    put还可以用来修改某一个已存在的key对应的值,例如dic.put(“name”,”fx”); 就可以将name对应的value改为fx,更多详细用法这里就不一一列出了

-------------本文结束感谢您的阅读-------------

本文标题:java学习笔记1

文章作者:fengxi

发布时间:2019年01月08日 - 13:01

最后更新:2019年04月04日 - 21:04

原始链接:https://super-storm.github.io/2019/01/08/java学习笔记1/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。