java基础

java基础

注释(优美的注释让人心情愉悦)

  1. 单行注释

    //我是酷酷的单行注释
    
  2. 多行注释

    /*
    我是美美的多行注释
    */
    
  3. JavaDoc:文档注释

    /**
    *我是可以加参数的文档注释
    *@Author
    */
    

标识符

关键字

abstractassertbooleanbreakbyte
casecatchcharclassconst
continuedefaultdodoubleelse
enumextendsfinalfinallyfloat
forgotoifimplementimport
instanceofintinterfacelongnative
newpackageprivateprotectedpublic
returnstrictfpshortstaticsuper
switchsynchronizedthisthrowthrows
transienttryvoidvolatilewhile

java所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。

注意点:

  1. 所有的标识符都应该以字母(A-Z或a-z),美元($),或者下划线(_)开始

  2. 首字母后可以是字母(A-Z或a-z),美元($),或者下划线(_)或者数字任何字符组合

  3. 不能使用关键字作为变量名或者方法名。

  4. 标识符是大小写敏感的

  5. 可以使用中文或者拼音,但是不建议使用

数据类型

基本类型(primitive type)
//八大数据类型
//整数类型
        byte num2=20;//(占1个字节范围-128·127)
        short num3=30;//(占2个字节范围-32768·32767)
		int num1=10;//(占4个字节范围-2147483648·2147483647)
        long num4=30L;/*long数字后面加L,用于区分(占4个字节范												围-923372036854775808·923372036854775807)*/
//浮点类型-小数;浮点数
        float num5 = 50.1F;//(占4个字节)
        double num6 = 3.141592635897932385;//(占8个字节)
//字符类型
        char name='a';//(占2个字节)
        //字符串String 不是关键词,是类
        //Sting name="王";

//boolean类型-布尔值 是非
        //boolean flag = true;
        boolean flag = false;
引用类型(reference type)
  1. 接口
  2. 数组

整数拓展:进制

  • 二进制0b
  • 十进制
  • 八进制0
  • 十六进制0x
int i=10;
int i2=010;//八进制0		 输出8
int i3=0x10;//十六进制0x	输出16

浮点数拓展

银行业务,钱

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

float f1 = 1212414141414f;
float f2 = f1+1;
System.out.println(f1==f2);//true

float 有限 离散 舍入差 大约 相近但不等于

银行怎么精确计算?

BigDecimal 数学工具类

字符拓展

char c1= 'a';
char c2= '中';
System.out.println(c1);
System.out.println((int)c1);//强制转换
System.out.println(c2);
System.out.println((int)c2);//强制转换

输出:

a

97

20013

所有字符还是数字

编码 Unicode 表:(A=65 , a=97) 2字节 0-65536 2的16方=65536

​ 范围 U0000到UFFFF

  • 转义字符

    1. \t 制表符

    2. \n 换行

    3. \a 响铃

    4. \b 退格

    5. \f 换页

    6. \r 回车

    7. \v 垂直制表

    8. \\ 反斜杠

    9. ? 问号字符

    10. \’ 单引号字符

    11. \" 双引号字符

    12. \0 空字符

布尔值拓展

boolean flag = true;
if(flag==true){}//新手
if(flag){}//老手
//两者一致,但是要求精简易懂

类型转换

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

    低------------------------------------------------------------------------->高

    ​ byte , short , int , long , float , double

  • 运算中,不同类型的数据先转化成同一类 ,然后在进行运算。

    1. 强制类型转换
    2. 自动类型转换

类型转换注意点

  1. 不能对布尔值进行转换
  2. 不能把对象类型转换成不相干的类型
  3. 在把高容量转化到底容量的时候,强制转化
  4. 转化的时候可能会出现内存溢出,或者精度问题!
        //操作比较大的数据时候,注意溢出问题
        //JDK新特性,数字之间可以用下划线分割
        int money  = 10_0000_0000;
        int years  = 20;
        int total  = money* years;//-1474836480,计算的时候溢出了
        long total2=money* years;//-1474836480,计算的时候溢出了
        //问题:先计算后转化long,解决方法,先把一个数转化成long
        long total3 =money* (long)years;//200_0000_0000
        System.out.println(total3);
//精度丢失,向下取整。
System.out.println((int)22.9);//22
System.out.println((int)-88.98F);//-88
        char c = 'a';
        int i=c+1;
        System.out.println(i);//98
        System.out.println((char) i);//b

变量

  • 什么是变量:就是可以变化的量!

  • Java是一种强类型语言,每个变量都需要声明其类型。

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

    type      varName 	[=value]	  [{,varName[=value]}];
    //数据类型 |变量名|	=|值;	可以使用逗号隔开来声明多个类型变量。
    

注意事项

  • 每个变量都有类型,类型可以是基本类型,也可以是引用数据类型。
  • 变量名必须是合法的标识符。
  • 变量声明是一条完整的语句, 因此每一个声明都必须以分号结束。

变量作用域

  • 类变量

  • 实例变量

  • 局部变量

    public class Demo04 {
        //类变量 static
        static double salary = 2500;
    
    
        //属性:变量
    
        //实例变量:从属于对象;如果不自行初始化,这个类型的默认值 (int = 0  ,name = null)
        //布尔类型:默认是false
        //除了基本类型其他的默认值都是null;
        String name;
        int age;
    
        //main方法
        public static void main(String[] args) {
    
            //局部变量;必须声明和初始化值
            int i = 10;
            System.out.println(i);
    
            //变量类型 变量名字 =new  Demo04();
            Demo04 demo04=new Demo04();
            System.out.println(demo04.age);
            System.out.println(demo04.name);
    
            System.out.println(salary);
        }
    
        //其他方法
    
        public void add() {
    
        }
    }
    
    

    常量

  • 常量(Constant):初始化(initialize)后不能再改变!不会变动的值。

  • 所谓常量可以理解成一种特殊的变量,它的值被设定后,在程序中运行过程中不允许被改变。

    final 常量名=;
    final double PI=3.14;
    
  • 常量名一般使用大写字符

public class Demo05 {

    //修饰符,不存在先后顺序(static静态的/final)
    static final double PI = 3.14;

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

变量命名规范

  • 所有变量、方法、类名:见名知其意
  • 类成员变量:首字母小写和驼峰原则:monthSalary,除了第一个单词以外,后面的单词首字母大写
  • 局部变量:首字母小写和驼峰原则
  • 常量:大写字母和下划线:MAX_VALUE
  • 类名:首字母大写和驼峰原则 :Man,GoodMan
  • 方法名:首字母小写和驼峰原则

运算符

  • Java语言支持的如下运算符:
    1. 算数运算符:+、-、*、/、%、++、–
    2. 赋值运算符: =
    3. 关系运算符:>、<、>=、<=、==、!=instanceof
    4. 逻辑运算符:&&、||、!
    5. 位运算符:&、|、^、>>、<<、>>>(了解!!!)
    6. 条件运算符:?:
    7. 扩展赋值运算符:+=、-=、*=、/=

幂运算

double pow = Math.pow(3,2);//3*3
System.out.println(pow);//9.0

位运算符

 //位运算符
    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

        << 左移   *2
         >>右翼   /2
         效率极高!!!
        0000 0000  0
        0000 0001  1
        0000 0010  2
        0000 0011  3
        0000 0100  4
        0000 1000  8
        0001 0000  16
         */

        System.out.println(2<<1);//4
        System.out.println(2<<2);//8
        System.out.println(2<<3);//16
    }

扩展赋值运算符:+=、-=、*=、/= 拼接运算符

public class Demo07 {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        int c = 30;
        a+=b;//a=a+b
        b-=c;//b=b-c
        System.out.println(a);//30
        System.out.println(b);//-10

        //字符串连接符 +   ,  只要连接的有一个String,则拼接到一块输出String
        System.out.println(a+b); //20
        System.out.println(""+a+b);//30-10
        System.out.println(a+b+"");//20

    }
}

条件运算符(三元运算符):?:

//三元运算符
public class Demo08 {
    public static void main(String[] args) {
        //x?y:z
        //如说x==true,则结果为y,否则为z
        int score = 80;
        String type =score <60?"不及格":"及格";
        System.out.println(type);
    }
}

包机制

  • 为了更好的组织类,Java提供了包机制,用于区别类名的命名空间。

  • 包语句的语法格式为:

    package pkg1[.pkg2[.pkg3...]];
    
  • 一般利用公司域名倒置作为包名;

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

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

    例如:

    //导入这个包下所有的类
    import com.wang.base.*;
    

JavaDoc

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

    javadoc -encoding UTF-8 -charset UTF-8 XXX.java
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 参数信息

    • @author作者名
    • @version版本号
    • @since指明需要最早使用的jdk版本
    • @param参数名
    • @return返回值情况
    • @throws异常抛出情况
package com.wfy.base;

/**
 * @author wang
 * @version 10
 * @since 1.8
 */
public class Doc {
    String name;

    /**
     * @author wang
     * @param name
     * @return
     * @throws Exception
     */
    public String text(String name)throws Exception{
        return name;
    }
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值