01.java基础

一.万物的开始  HelloWorld

IDEA快捷键
  psvm  生成main方法
  sout    生成输出语句


二、注释

单行注释//
多行注释/**/
文本注释/***/


三、标识符

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

01.java基础_第1张图片

标识符注意点

所有的标识符都应该以字母(A-Z或者a-z),美元($)、或者是下划线(_)开始.
首字母之后可以是字母(A-Z或者a-z),美元符($)、下划线(_)或数字的任意字符组合
不能使用关键字作为变量名或方法名
标识符是大小写敏感的
合法的标识符举例: age、$salary、_value、_1_value
非法标识符:123abc、-salay、#abc

01.java基础_第2张图片

可以使用中文命名,但是一般不建议这样去用,也不建议使用拼音。


四、数据类型

强类型语言
    要求变量的使用要严格符合规定,所有变量都必须定义后才能使用
弱类型语言

01.java基础_第3张图片

什么是字节

位(bit):是计算机内部数据储存的最小单位,11001100是一个八位二进制。
字节(byte):是计算机中数据类型处理的基本单位,习惯上用大写B来表示。
1B(byte,字节)=8bit(位)
字符:是指计算机中使用的字母、数字、字和符号


1bit表示1位
1Byte表示一个字节1B=8b
1024B=1KB
1024KB=1M
1024M=1G

数据类型

public class Demo03 {
    public static void main(String[] args) {
        //整数扩展  进制 二进制0b  十进制  八进制0 十六进制0x
        int i=10;
        int i2=010;//八进制
        int i3=0x10;//十六进制
        System.out.println(i);//10
        System.out.println(i2);//8
        System.out.println(i3);//16

        //浮点数扩展
        float f=0.1f;
        double d=1.0/10;
        System.out.println(f==d);//false


        float d1=213321213213f;
        float d2=d1+1;
        System.out.println(d1==d2);//true

        //字符扩展
        char c1='a';
        char c2='中';
        System.out.println(c1);//a
        System.out.println((int)c1);//强制转换 97
        System.out.println(c2);//中
        System.out.println((int)c2);//强制转换 20013
        char c3='\u0061';
        System.out.println(c3);//a

        //转义字符
        System.out.println("Hello\tWorld");//\t相当于tab
        System.out.println("Hello\nworld");//相当于回车

        String sa=new String("hello world");
        String sb=new String("hello world");
        System.out.println(sa==sb);//false

        String sc="hello world";
        String sd="hello world";
        System.out.println(sc==sd);//true

        //布尔值扩展
        boolean flag=true;
        if (flag){}//老程序员
        if (flag==true){}//新程序员
    }
}

 

类型转换

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

运算中,不同类型的数据先转换为同一类型,然后进行运算。

public class Demo05 {
    public static void main(String[] args) {
        int i=128;
        byte b=(byte)i;//内存溢出
        //强制转换  (类型)变量名  高--底
        System.out.println(i);//128
        System.out.println(b);//-128
        //自动转换    底---高
        long d=i;
        System.out.println(d);//128

        /*
        * 注意点:
        * 1.不能对布尔值转换
        * 2.不能把对象类型转换为不相干的类型
        * 3.把高容量转换成底容量的时候,强制转换
        * 4.转换的时候可能存在内存溢出,或者精度问题?
        * */
        System.out.println("-------------");
        System.out.println((int)23.7);//23
        System.out.println((int)-45.89F);//-45

        System.out.println("-------------");
        char c='a';
        int q=c+1;
        System.out.println(q);//98
        System.out.println((char)q);//b
    }
}

数据类型转换问题

public class Demo06 {
    public static void main(String[] args) {
        //操作比较大的时候,注意溢出问题
        //JDK7,数字之间可以用下划线分割
        int money=10_0000_0000;
        int years=20;
        int total=money*years;//-1474836480  计算的时候溢出了
        long total2=money*years;//默认是int,转换之前已经存在问题了
        long total23=money*((long)years);//解决方案:先把一个数转换为long 20000000000
        System.out.println(total23);


    }
}

五、变量

变量是什么? 变量就是可以变化的量!

java是强类型语言,每个变量都必须声明其类型。

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

int num;//声明一个变量

num=100;//给变量赋值

注意事项:

每个变量都有类型,类型可以是基本类型,也可以是引入类型。

变量名必须是合法的标识符。

变量声明是一条完整的语句,因此每一个声明都必须以分号结束。

定义变量

public class Demo07 {
    public static void main(String[] args) {
        //int a,b,c;
       // int a=1,b=2,c=3;
        //不建议以上定义,遵循程序的可读性
        String name="fanyu";
        char x='x';
        double pi=3.14;

    }
}

变量的命名规范:

所有变量、方法、类名:见名知意

类成员变量:首字母小写和驼峰原则:monthSalary 除了第一个单词以外,后面的单词首字母大写lastname、lastName

局部变量:首字母小写和驼峰原则

常量:大小写和下划线 :MAX_VALUE

类名:首字母大写和驼峰原则:Man、GoodMan

方法名:首字母小写和驼峰原则:run(),runRun()

 

类变量、实例变量、类方法

public class Demo08 {
    //类变量  static  不用new对象
    static double salary=2500;
    
    //属性

    //实例变量:从属于对象; 如果不自行初始化  这个类型的默认值
    //布尔值:默认值为false
    //除了基本类型,其余的默认值都是null
    String name;
    int age;

    //main方法
    public static void main(String[] args) {
        //局部变量:必须声明和初始化值
/*        int i;
        System.out.println(i);
        报错
        */
        int i=10;
        System.out.println(i);//10

        //变量类型  变量名字 =new  Demo08();
         Demo08 demo08=new Demo08();
        System.out.println(demo08.age);//0
        System.out.println(demo08.name);//null

        System.out.println(salary);
    }

    //其他方法
    public void add(){}
}

常量

常量:初始化后不能再修改值!不会变动的值。

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

final  变量名=值;

final  double PI=3.14;

常量名一般使用大写字符

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

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

六、运算符

01.java基础_第4张图片

运算符的优先级

一般而言,单目运算符优先级较高,赋值运算符优先级较低。算术运算符优先级较高,关系和逻辑运算符优先级较低。多数运算符具有左结合性,单目运算符、三目运算符、赋值运算符具有右结合性。

01.java基础_第5张图片

 

二元运算符

package open;

public class Demo01 {
    public static void main(String[] args) {
         //二元运算符
        //Ctrl+D ;复制一行
        int a=10;
        int b=20;
        int c=25;
        int d=25;

        System.out.println(a+b);//30
        System.out.println(a-b);//10
        System.out.println(a*b);//200
        System.out.println(a/(double)b);//0.5

    }
}

不同类型加减乘除

package open;

public class Demo02 {
    public static void main(String[] args) {
        long a=12321321321L;
        int b=123;
        short c=10;
        byte d=8;

        System.out.println(a+b+c+d);//long类型
        System.out.println(b+c+d);//Int类型
        System.out.println(c+d);//Int类型
    }
}

关系运算符

package open;

public class Demo03 {

    public static void main(String[] args) {
        //关系运算符  正确  错误  布尔值
        int a=10;
        int b=20;
        int c=21;

        System.out.println(c%a);  //21/10=2...1

        System.out.println(a>b);//false
        System.out.println(a

一元运算符  重点  ++   --

package open;

public class Demo04 {
    public static void main(String[] args) {

        //++  -- 自增  自减  一元运算符
        int a=3;
        int b=a++; //执行完这行代码后,先给b赋值,再自增
        //a++  a=a+1;
        System.out.println(a);
        int c=++a;//执行完这行代码前,先自增,再赋值


        System.out.println(a);
        System.out.println(b);
        System.out.println(c);

        //幂运算
       double pow= Math.pow(2,3);
        System.out.println(pow);
    }
}

逻辑运算符

package open;

//逻辑运算符
public class Demo05 {
    public static void main(String[] args) {
        // 与(and)  或(or) 非(取反)
        boolean a=true;
        boolean b=false;

        System.out.println(a&&b);//逻辑与运算,俩个变量都为真,结果才为true
        System.out.println(a||b);//逻辑或运算,俩个变量有一个为真,结果才为true
        System.out.println(!(a&&b));//如果是真,则变为假,如果是假则变为真

        //短路运算
        int c=5;
        boolean d=(c<4)&&(c++<4);
        System.out.println(d);//false
        System.out.println(c);//5
    }
}

条件运算符

package open;

public class Demo07 {
    public static void main(String[] args) {
        int a=10;
        int b=20;

        a+=b;//a=a+b;
        a-=b;//a=a-b;
        System.out.println(a);//30

        //字符串连接符
        System.out.println(""+a+b);//1020 如果字符串在前面会生成xemll码
        System.out.println(a+b+"");//30  如果字符串在后面,前面的会相加
    }
}

 

三元运算符

package open;

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);//及格
    }
}

 

七、包机制

package:定义包

import:引入包  

八、javaDoc生成文档

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

参数类型

@author 作者名

@version 版本号

@since 指明需要最早使用的jdk版本

@param  参数名

@return  返回值情况

@throws  异常抛出情况

package base;

/**
 * @author fy
 * @version 1.0
 * @since 1.8
 * */
public class Doc {

    String name;

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

 

你可能感兴趣的:(java)