Java基础语法

基础

1. Java对大小写敏感

2. Java注释

//单行注释 这是一行注释

/*
    这里是多行
    注释
*/

/**
    这里是文档注释
    @author 0o晓月メ
*/

3. 访问修饰符

  • public 都能访问,公共的
  • protected 包里面的成员,本身,子类 能够访问
  • private 只有类本身可以访问
  • default 类本身 以及同一包里面的成员能够访问

4.类的定义

public class People {
    //类静态属性
    public static String type = "chinese";
    //常量定义
    public final int CONSTANT = 1;
    //构造器
    public People(String name, int age){
        this.setName(name);;
        this.setAge(age);
    }
    //定义属性
    private String name;
    private int age;
    //定义方法
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
}

5.运算符

  • 自增减
  • 关系运算符
  • 强制类型转换

demo

/**
 * 运算符号
 * @author 0o晓月メ
 */
public class OperationalSymbol {
    //程序入口
    @SuppressWarnings("unused")
    public static void main(String[] args) {
        /**
         * 自增减:实现自身的 加/减 并且赋值给自身 a++<=> a=a+1
         *      ++a/--a:
         *          先做其他运算再执行a的自增/减
         *      a++/a--:
         *          先做a的自增再执行其他运算/减
         */
        int a = 1;
        int b = 1;
        System.out.println(a++);//->1
        System.out.println(a);  //->2
        System.out.println(++b);//->2
        System.out.println(b);  //->2

        /**
         * 关系运算符
         * >,>=, <,<=,==,
         * 与:&&, 或:||, 非:!=
         * 3元表达式
         * a>b?true时返回这个值:false返回这个值
         */
        System.out.println(1>2);//=>false
        System.out.println(1<2);//=>true
        System.out.println(3>1&&3<4);//=>true
        System.out.println(2>4?"对":"错");//=>错

        /**
         * 强制类型转换
         */
        double dub = 1.232323;
        //强制转为int 这里有精度丢失
        int numb  = (int)dub;
    }
}

6.控制流程

  • 条件语句
  • 循环语句
  • 多重选择语句
  • 中断语句

demo

package knowledge.base;
/**
 * 控制流程语句
 * @author 0o晓月メ
 *
 */
public class Sentence {

    public static void main(String[] args) {

        int i = 10;
        /**
         * 条件语句
         */
        if(i>10){
            System.out.println("符合条件");
        }else{
            System.out.println("不符合条件");
        }

        /**
         * 循环语句
         */
        //先判断是否符合再执行
        while(i > 0){
            System.out.println(i--);
        }
        //先执行在判断是否符合条件
        do{
            System.out.println(i++);
        }while(i<10);

        for(int j = 0;j<5;j++){
            System.out.println(j);
        }
        /**
         * 多重选择语句
         * 若不添加 break 会一直往下执行其他的case
         */
        i = 5;
        switch(i){
            case 1:
                System.out.println("值为1");
                break;
            case 5:
                System.out.println("值为5");
                break;
            case 7:
                System.out.println("值为7");
                break;
            default:
                System.out.println("没有符合的");
                break;
        }
        /**
         * 中断语句
         * break 跳出循环体
         * continue 跳出本次循环
         */
        for(int t = 0;t<5;t++){
            if(t==2) continue;
            if(t==4) break;
            System.out.println(t);
        }
    }
}

知识补充

static

类静态属性/方法 不需要创建实例,static 修饰的方法不能访问实例属性 ,可以直接使用类名来调用static 修饰的属性/方法,由于static是在编译时并被创建,所以不能被覆盖(即不适于多态)

private

只有自身能够访问,子类也不能访问,故不能覆盖,如果子类中包含一样的 属性/方法 则视为新添加的 属性/方法

接口

一个类可以实现多个接口,接口只能声明抽象方法和常量,接口不能被实例化,常用于多态

public interface MyInterface {
    public final String ="test";
    public void getSomething();
}

抽象类

抽象类可以有抽象的方法,也可以有实现了的方法,可以有各种访问权限的属性

public abstract Chicken{

}

值传递

java方法的参数是值传递,是参数的一个副本,对参数进行修改不会影响到原来的值,对象参数除外,因为对象参数拷贝的值是对象的一个引用,所以改变对象参数会影响到原来的参数值。

Java虚拟机

Java虚拟机是一个可以执行Java字节码的虚拟机进程。Java源文件被编译成能被Java虚拟机执行的字节码文件。

JRE

Java运行时环境(JRE)是将要执行Java程序的Java虚拟机。它同时也包含了执行applet需要的浏览器插件。

JDK

Java开发工具包(JDK)是完整的Java软件开发包,包含了JRE,编译器和其他的工具(比如:JavaDoc,Java调试器),可以让开发者开发、编译、执行Java应用程序。

Java基础(1) - 语法 & 概念的更多相关文章

  1. 二、JAVA基础、语法

    第二节:JAVA基础.语法 1.修饰符.变量:    Java中主要有如下几种类型的变量    局部变量                                                 ...

  2. JAVA 基础基本语法---常量与变量

    JAVA 基础基本语法---常量与变量 语法:计算机能够识别的语言的规则: 0. 基本语法 编写Java程序时,应注意以下几点: 大小写敏感:Java是大小写敏感的,这就意味着标识符Hello与hel ...

  3. java基础入门-语法(1)

    因为平时用到一些java的项目,比如ElasticSearch,zookeeper等,有时也想看看里面怎么实现的,或者看到别人分析原理时候会用到java源码, 自己也想跟着学一下,最起码能看懂别人的分 ...

  4. Java基础try-with-resource语法源码分析

    众所周知,所有被打开的系统资源,比如流.文件或者Socket连接等,都需要被开发者手动关闭,否则随着程序的不断运行,资源泄露将会累积成重大的生产事故. 在Java的江湖中,存在着一种名为finally ...

  5. java基础(一) -语法

    基本语法 编写Java程序时,应注意以下几点: 大小写敏感:Java是大小写敏感的,这就意味着标识符Hello与hello是不同的. 类名:对于所有的类来说,类名的首字母应该大写.如果类名由若干单词组 ...

  6. java基础知识-基本概念

    1.1 java语言有哪些优点? 1.java语言为纯面向对象的语言. 2.平台无关性.java语言的优点便是“一次编译,到处执行”.编译后的程序不会被平台所约束,因此java语言有很好的移植性. 3 ...

  7. 八、Java基础---------基本语法

    一.学习Java注意的细节:     1.1 Java语言拼写上严格区分大小写: 1.2 一个Java源文件里可以定义多个Java类,但其中最多只能有一个类被定义成public类: 1.3 若源文件中 ...

  8. 黑马程序员——JAVA基础之语法、命名规则

    ------- android培训.java培训.期待与您交流! ---------- 1.java语言组成:关键字,标识符,注释,常量和变量,运算符,语句,函数,数组. 2.java关键字:被Jav ...

  9. java基础-01基本概念

    java的特点 跨平台 所谓的平台,我们可以理解为操作系统. 大部分语言是不能跨平台的,比如c语言的程序在windows和linux上需要编写不同的代码. java程序是运行在JVM(Java Vir ...

随机推荐

  1. Junit 入门使用教程

    1.Junit 是什么? JUnit是一个Java语言的单元测试框架.它由Kent Beck和Erich Gamma建立,逐渐成为源于Kent Beck的sUnit的xUnit家族中最为成功的一个JU ...

  2. laravel实现多数据库连接配置

    只需三步,便可实现. 第一步,在.env文件中配置 DB_HOST=localhost DB_DATABASE=test DB_USERNAME=root DB_PASSWORD=root DB_HO ...

  3. 磁盘分区-gdisk用法

    gdisk用法 gdisk - InteractiveGUIDpartitiontable (GPT) manipulator GPTfdisk (akagdisk) isatext-modemenu ...

  4. Mac下修改环境变量并保存

    1. 终端执行 touch ~/.bash_profile 2.终端执行 vim ~/.bash_profile 3.点一下向下箭头,点E 进入bash_profile文件 4.点i进入编辑模式,进行 ...

  5. Github+Hexo,搭建专属网站

    前言 记得从大二开始,就一直想搭个专属网站,当时使劲抠页面[前端页面是从QQ空间抠的,现在想抠估计没这么容易了],写代码,忙活半天才把程序弄好. 可惜最终项目还是没上线,因为当时有两问题绕不开 需要购 ...

  6. click和blur事件冲突解决方案

    场景:例如做一个模仿百度搜索的搜索框,输入文字下面会有匹配项,当点击下拉项中的值时,就将值添加到搜索框中同时隐藏下拉框,点击其他地方就直接隐藏下拉框,这时所需要的事件分别为 下拉框事件onclick, ...

  7. R语言快速深度学习进行回归预测(转)

    深度学习在过去几年,由于卷积神经网络的特征提取能力让这个算法又火了一下,其实在很多年以前早就有所出现,但是由于深度学习的计算复杂度问题,一直没有被广泛应用. 一般的,卷积层的计算形式为: 其中.x分别 ...

  8. spring annotation功能备注

      @Autowired @Autowired 注释可以在 setter 方法中被用于自动连接 bean.以type方式进行匹配. 一个构造函数 @Autowired 说明当创建 bean 时,即使在 ...

  9. Zepto源码分析-zepto模块

    源码 // Zepto.js // (c) 2010-2015 Thomas Fuchs // Zepto.js may be freely distributed under the MIT lic ...

  10. 翻译Algorithms Unlocked

    写在前面 本书是由<算法导论>(Introduction to Algorithms)的作者之一Thomas H. Cormen编写的适合对算法感兴趣但自身基础又不好的同学阅读.很多人评价 ...