Java基础语法学习

Java基础语法

  • 新建一个空项目

image-20211027093804276

  • 关闭,我们先不进行设置

image-20211027093849881

  • 空项目中新建模块

image-20211027094440696

  • 新建Java项目模块

image-20211027095207761

  • 双击src查看java项目

image-20211027100344719

  • 为Java选择编辑器

image-20211027100926123

  • 创建一个Helloword的class文件

image-20211027101210086

注释,标识符,关键字

java注释

java中注释有三种:单行注释(//),多行注释(/**/),文档注释(/** */)

文档注释:它一般和JavaDoc一起使用,文档注释允许你在程序中嵌入关于程序的信息

设置以下注释的颜色

image-20211027103723270

标识符

Java所有的组成部分都需要名字。类名,变量名以及方法名等都被称作标识符。

  • 所有的Java标识符都应该以字母,美元符$,或者下划线(_)开始
  • 首字母之后都应该以字母,美元符$,或者下划线(_)或数字的任何字符开始
  • 关键字不能作为变量名,方法名
  • 标识符是对大小写敏感的

数据类型

Java类型

  • Java强语言类型

    强类型语言:要求所有的变量必须先定义后再使用

    弱类型语言:变量的定义和使用不严格

image-20211027133247576

  • Java的数据类型分俩类

    • 基本类型(primitive type):
    • 引用类型(reference type):

    image-20211027133718157

    public class HelloWorld {
        public static void main(String[] args) {
            // 整型
            byte num1 = 10;
            short num2 = 20;
            int num3 = 30;
            long num4 = 50L; //long类型要在数字后面加L
    
            // 浮点数
            float num5 = 3.14F; // float类型要在后面加F
            double num6 = 3.14123456;
    
            //字符
            char nc = 'A';
    
            // 字符串 字符串String不是关键字而是一个类
            String name = "BUTLER";
    
            // 布尔类型
            boolean flag = true;
        }
    }
    

类型转换

  • 由于Java是强类型语言,所以要进行有些运算的时候,需要进行类型转换

  • 运算中,不同类型的数据先转换为同种类型然后再进行运算 (byte,short,int相互运算后是int)

    byte,short,char --> int --> long --> float -->double

  • 类型转换

    • 强制类型转换 高–>低
    • 自动类型转换 低–>高

    类型转换不能把对象类型转换为不相干的类型;转换类型时可能存在内存溢出或者精度问题

    public class demo {
        public static void main(String[] args) {
            int a = 128;
            byte b = (byte)a;   // 高类型转低类型需要强制类型转换
            float c = a;        // 低类型转高类型会自动向高类型转换
            System.out.println(a);  // 128
            System.out.println(b);  // -128;因为byte的最大值是127,强制类型转换会溢出
            System.out.println(c);  // 128.0;
        }
    }
    
    public class demo {
        public static void main(String[] args) {     
            char d = 'a';
            int e = d;
            System.out.println(e);   // 97
            System.out.println((char)e);  // a
        }
    }
    
    public class demo {
        public static void main(String[] args) {
            int money = 10_0000_0000;
            int years = 20;
            int total = money*years;    // -1474836480 int整型超过了20亿就会溢出
            long total1 = money*years;   // -1474836480
            long total2 = (long)money*years;  // 20000000000 先进行long类型转换
            System.out.println(total);
            System.out.println(total1);
            System.out.println(total2);
        }
    }
    

变量,常量

变量,方法,类名都需见名知意;方法名,局部变量,类成员变量:首字母小写遵循驼峰原则;

类名遵循首字母大写;常量必须都是大写字母;

变量

type varName [=value] [{,varName[=value]}]

数据类型 变量名 = 值;可以使用逗号隔开来声明多个同类型的变量

  • Java是一门强类型语言,每个变量都必须在定义时声明其类型

  • 变量是Java程序中最基本的存储单元,其要素包括变量名,变量类型以及作用域

  • 变量作用域

    • 类变量:加了一个关键字staticstatic int a = 1; 类变量声明后在许多位置都可以调用

    • 实例变量:从属于对象,不进行初始化会拥有默认值;如0,0.0,null,false,除了基本类型基于的默认值都是null

    • 局部变量:必须声明类型和初始值

public class demo1{
    static int a;  // 类变量
    int b;
    public static void main(String[] args) {
        int a = 1;      // 局部变量
        String name ;   // 实例变量
    }
    public void add(){
    }
}
  • 注意事项
    • 每个变量都有类型,或是引用类型或是基本类型
    • 每个变量名都有合法的标识符

常量

常量(Constant):初始化(initialize)后不能再改变值!不会变动值。所谓常量可以理解为一种特殊的变量,它的值被设定后,在程序设定后不会在改变。常量名一般是大写字母

final 变量名 = 值;

final double PI = 3.14;

public class demo2 {
    // 修饰符,不存在先后顺序
    static final double PI = 3.14;
    final static double PIN = 3.14;

    public static void main(String[] args) {
        System.out.println(PI);
        System.out.println(PIN);
    }
}

运算符

Java语言支持的运算符

  • 算术运算符:+,-,*,/,%,++(自增),–(自减)
  • 赋值运算符:=
  • 关系运算符:<,>,<=,>=,==,!=,instanceof
  • 逻辑运算符:&&,||,!
  • 位运算符:&,|,^,<<,>>,>>>
  • 条件运算符:?,:
  • 扩展赋值运算符:+=,-=,*=,/=

位运算符

public class Demo2 {
    public static void main(String[] args) {
        /*
        A = 0011 1100
        B = 0000 1101
        A&B = 0000 1100
        A|B = 0011 1101
        A^B = 0011 0001  异或运算
        ~B = 1111 0010  二进制取反
         */
    }
}

位运算符

public class Demo2 {
    public static void main(String[] args) {
        /*
        左移<<  右移>>  这俩个运算在计算机中是效率极高的运算
        << *2   >> /2

        0000 0000  0
        0000 0010  2
        0000 0100  4
        0000 1000  8
        0001 0000  16

        2<<3 = 8  化为2进制后左移3位
        8>>3 = 2  化为2进制后左移3位
         */
        System.out.println(2<<4);  // 32
    }
}

字符串连接符+

public class Demo3 {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        // 字符串连接符 + 连接字符时有String都会变成String类型
        System.out.println(a+b+"");  // 30
        System.out.println(""+a+b);  // 1020
    }
}

三元运算符

public class Demo3 {
    public static void main(String[] args) {
        int source = 70;
        String grade = source<60?"不及格":"及格";
        System.out.println(grade);
    }
}

包机制,JavaDoc

阿里巴巴Java开发者手册

包机制

Java的包其实就相当于文件夹,包的存在为了更好地组织类,Java提供了包机制,用于区别类名的命名空间

  • 包格式。包语句的语法格式为:

    package pkg1[.pkg2[.pkg3…]];

    一般将公司域名导致作为报名,如:www.baidu.com 会导置为 com.baidu.www。这样做的原因是为了显示出这样的效果

    Snipaste_2021-10-28_12-10-35

    • 如果无法实现这样的效果在小齿轮设置中把Compact middle package打勾去掉。
    • 小技巧:ctrl+鼠标左键进入我们想进入的包
  • 导包。为了能够使用某一个包的成员,需要在Java程序中明确导入该包。使用import语句完成导入包的工作

    import package1[.package2…].(classname|*);

    导入包

    import com.baidu.www.Demo1;导入包

    import com.baidu.www.*;导入www下的所有包

    • 小技巧:在错误位置Alt+Enter会给提示帮助我们解决错误

      Snipaste_2021-10-28_12-25-31

JavaDoc

JavaDoc生成文档

java帮助文档

需要学习JavaDoc是什么,JavaDoc的俩种生成方式

  • Javadoc命令是用来生成自己的API文档的

    image-20211028124901328

  • 参数信息

    • @author 作者名
    • @version 版本哈
    • @since 指明需要最早使用的jdk版本
    • @return 返回值情况
    • throws 异常抛出情况
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值