JAVA基础

HelloWorld

1、随便建一个文件夹,存放代码

2、新建一个Java文件

  • 文件后缀名为.java
  • Hello.java
  • 【注意点】系统可能没有显示文件后缀名,我们需要手动打开

3、编写代码

public class Hello{
    public static void main(String[] args){
        System.out.print("Hello,World!")
    }
}

4、编译javac java文件,会生成一个class文件

5、运行class文件,java class 文件

image-20210924174832493

可能会遇到的情况

1、每个单词大小写不能出现问题,Java是大小写敏感的

2、尽量使用英文;

3、文件名和类名必须保证一致,并且首字母大写

4、符号使用了中文

注释

//单行注释
//输出一个HelloWorld!
   System.out.println("Hello,World");

//多行注释:可以注释一段文字
   /*
    我是多行注释
    我是多行注释
    ~~~~~~~~~~
   */

//文档注释 /**
   /**
   * @Description HelloWorld
   * @Author 陈爽
   */

标识符和关键字

Java所有的组成部分都需要名字,类名变量名以及方法名都成为关键字

abstractassertbooleanbreakbyte
casecatchcharclassconst
continuedefaultdodoubleelse
enumextendsfinalfinallyfloat
forgotoifimplementsimport
instanceofintinterfacelongnative
newpackageprivateprotectedpublic
returnstrictfpshortstaticsuper
switchsynchronizedthisthrowthrows
transienttryvoidvolatilewhile
  • 数字不能开头】所有的标识符都应该以字母,美元符号($),或者下划线(_)开始
  • 首字母之后可以是字母、下划线、美元符、或者数字的任何组合
  • 不能使用关键字命名
  • 标识符大小写敏感
  • 不建议使用中文或者拼音命名

数据类型

  • 强类型语言:要求变量使用严格符合规定,所有的变量必须先定义在使用。
  • 分为基本类型【数值类型、boolean类型】和引用类型【类、接口、数组】

八大数据类型

int short long byte float double char boolean

//整数
  int num1 = 10 ;
  byte num2 = 20 ;
  short num3 = 30;
  long num4 = 30L;//Long数据类型要在数字后面加L
        
//小数:浮点数
 float num5 = 50.1F;//float数据类型要在数字后面加F
 double num6 = 3.141592653589793228;
        
//字符
 char name = '国';
        
//布尔值:是非
 boolean flag = true;
 boolean flag1 = false;

数据类型扩展

        //整数拓展: 进制
        //二进制0b    十进制
        //八进制0     十六进制0x
        int i = 10;
        int i2  = 010;
        int i3 = 0x10;
        System.out.println(i);
        System.out.println(i2);
        System.out.println(i3);
        System.out.println("==========================================");
        //=============================================
        //浮点数拓展:
        //银行业务怎么表示??     用BigDecimal 数学工具类

        //float  有限 离散 舍入误差 大约 接近但不等于
        //double
        //最好完全使用浮点数进行比较!!!
        //最好完全使用浮点数进行比较!!!

        float f = 0.1f;
        double f1 = 1.0/10;
        System.out.println(f==f1);
        System.out.println(f);
        System.out.println(f1);

        //==========================================
        //字符拓展?
        System.out.println("==========================================");
        char c1 = 'A';
        char c2 = '中';

        System.out.println(c1);
        System.out.println((int)c1);//强制转换

        System.out.println(c2);
        System.out.println((int)c2);//强制转换
        System.out.println("===================================");
        //所有的字符本质都是数字
        //==========================================
        //转义字符
        // \t 制表符
        // \n 换行
        char c3 = '\u0061';
        System.out.println(c3);

        System.out.println("hello\tworld");
        System.out.println("hello\nworld");

类型转换

运算中,不同类型的数据要先转换成同一类型的数据再进行运算。

低 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>高

byte—short—char —int—long—float—double

       //强制转换 (类型)变量名 高---低
        int a = 129;
        byte b = (byte) a ;
        System.out.println(a);
        System.out.println(b);

        //自动转换   低-----高
        int c = 129;
        double d = c ;
        System.out.println(c);
        System.out.println(d);

        /*
        注意点:
        1、布尔值不可以转换
        2、不能把对象类型转换为不相干的类型
        3、高容量转换成低容量的时候,强制转换
        4、转换的时候可能存在精度问题或者溢出问题
        */
//===========================================================================
        //操作比较大的数的时候,注意溢出问题
        //JDK新特性,数字之间可以用下划线分割
        int money = 10_0000_0000;
        int year  = 20;
        int tatal = money*year; //-1474836480,计算的时候溢出
        long total2 = money*year;//默认是int,转换之前已经存在问题了?

        long total3 = money*((long)year);//先把一个属转换成long类型
        System.out.println(total3);

变量

type varName [=value] [{,varName[=value]}];
//数据类型  变量名=值; 可以使用逗号隔开来声明多个同类型变量
  • 每个变量都有类型,类型可以是基本类型或者引用类型。
  • 变量名必须是合法的标识符。
  • 变量声明是一条完整的语句,一次每一个声明都必须以分号结束。
public class Demo4 {

    //实例变量:从属于对象;不初始化,自动设置默认值;
    String name;
    int age;

    //类变量 static
    static double salary = 2500;


    //main方法
    public static void main(String[] args) {

        //局部变量:必须声明和初始化
        int i = 10;
        System.out.println(i);
      //变量类型 变量名字 = new Demo4;
      // 实例变量
       Demo4 demo4 =  new Demo4();
       System.out.println(demo4.age);

        //类变量 static
        System.out.println(salary)
    }
    //其他方法
    public void add(){

    }
}

变量的命名规范:

  • 做到见名知意
  • 类成员变量:首字母小写和驼峰原则 :lastName
  • 局部变量:首字母小写和驼峰原则
  • 常量:大写字母和下划线:MAX_VALUE
  • 类名:首字母大写和驼峰原则:Man,Goodman
  • 方法名:首字母小写和驼峰原则:run( ),runRun( )

变量作用域

类变量、实例变量、局部变量

  • 局部变量:必须声明和初始化值
  • 实例变量:从属于对象。如果不初始化u,会自动设置默认值。【布尔值:默认是false】【除了基本类型其余都是null】

常量

初始化不改变的值

public class Demo5 {

    //final为修饰符,不存在先后顺序;
    final static double PI = 3.14;
    static  final double AI = 888;
    
    public static void main(String[] args) {
        
    }
}

运算符

优先级 ( )

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

很多的运算会用工具类来做。Math

包机制

为了区别类名的命名空间

一般利用公司域名倒置作为包名

导包:

为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包。使用“import”语句可以完成此功能。

package com.base;
//导入改包下所有的类;
import com.chen.*;
import java.util.Date;

public class HelloWorld {
    public static void main(String[] args) {
        Date;
    }
}

JavaDoc

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

在doc窗口中通过命令行: javadoc 参数 java文件

  • 参数信息:
    • @author 作者名
    • @version 版本号
    • @since 指明需要的最早的jdk版本
    • @return参数名
    • @throws 异常抛出情况
package com.chen;
/**
 * @author chenshuang
 * @version 1.0
 * @since 1.8
 */
public class Doc {
    String name;
    /**
     *
     * @param name
     * @return
     * @throws Exception
     */
    public String test(String name) throws Exception {
        return name;
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

皮卡丘不断更

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值