Day05.Java基础

注释

  1. 单行注释:// 只能注释一行文字

    修改注释颜色:File->Setting->Editor->Color Scheme->Java->Comment(注释) 修改颜色 Bold粗体 italic斜体->Apply

    注释

  2. 多行注释 / 注释*/* 可以注释一段文字

/*我是多行注释
  我是多行注释*/
  1. JavaDos:文档注释 格式:/** 注释 */ : /**+回车则会出现
/**
 * @Description HelloWorld
 * @Author 小明
 */

标识符

关键字

标识符注意点

数据类型

数据类型01

public class Demo02 {
    public static void main(String[] args) {
        String a="hello";
        int num=10;

        System.out.println(a);
        System.out.println(num);
    }
}
//八大基本数据类型
//整数
int num1=10;//最常用
byte num2=15;
short num3=20;
long num4=123456L;//Long类型要在数字后面加个L

//小数:浮点数
float num5=10.7F;//float类型要在数字后面加个F
double num6=3.141592653589793;

//字符
char name ='A';  //单引号里面只能是一个字,因为字符只是一个字
char name1 ='天';

//字符串,String不是关键字,它是一个类
//String name3="小明";

//布尔值:代表  是 非
boolean flag =true;
//boolean flag = false;

数据类型拓展及面试题讲解

银行问题

强制转换

public class Demo03 {
    public static void main(String[] args) {
        // 整数拓展    进制   二进制0b     十进制     八进制0    十六进制0x
        int i=10;
        int i2=010;//八进制0
        int i3=0x10;//十六进制0x   0~9相当于A~F   F相当于16
        int q=0x11;

        System.out.println(i);
        System.out.println(i2);
        System.out.println(i3);
        System.out.println(q);
        System.out.println("==================================================================");
        //=========================================================================================
        //浮点数拓展      银行业务怎么表示   钱
        //用BigDecimal表示   它是一个数学工具类
        //=========================================================================================
        //float     有限    离散     舍入误差     大约     接近但不等于
        //double
        //最好完全避免使用浮点数进行比较
        //最好完全避免使用浮点数进行比较
        //最好完全避免使用浮点数进行比较

        float f=0.1f;
        double d=1.0/10;

        System.out.println(f==d); //用“==”表示判断两个是否相等   false!!
        System.out.println(f);
        System.out.println(d);

        float d1=3232323231313323f;
        float d2=d1+1;
        System.out.println(d1==d2); //true
        //=========================================================================================
        //字符串拓展
        //=========================================================================================

        char c1='a';
        char c2='中';
        System.out.println("==================================================================");
        System.out.println(c1);

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

        System.out.println(c2);

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

        //所有的字符本质还是数字
        //编码:Unicode编码 为一个表 如:97=a,65=A 占2字节  最多可以表示0~65536个字符  早些年用excel长度 最长有二的十六次方=65536

        //U0000~UFFFF
        char c3='\u0061';
        System.out.println(c3);//a

        //转义字符
        // \t :制表符(中间多了个空格)
        // \n :换行
        System.out.println("Hello\tWorld");
        System.out.println("Hello\nWorld");

        System.out.println("==================================================================");
        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==true){} //新手
        if (flag){} //老手
        //Less is More. 代码要精简易读!
    }
}

类型转换

类型转换

内存溢出

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

        //自动转换:  低-->高
        int i1=128;
        double b1= i;
        System.out.println(i1);
        System.out.println(b1);
        /*
        注意点:
        1.不能对布尔值进行转换
        2.不能把对象类型转换为不相干的类型
        3.在把高容量转化到低容量的时候,强制转换
        4.转换的时候可能存在溢出,或精度问题!
         */
        System.out.println("====================");
        System.out.println((int)45.7);//45
        System.out.println((int) 68.99f);//68

        System.out.println("====================");
        char c='A';
        int s=c+1;
        System.out.println(s);//66
        System.out.println((char) s);//B
    }
}
public class Demo06 {
    public static void main(String[] args) {
        //操作比较大的数的时候,注意溢出问题
        //JDK7新特性,数字之间可以用下划线分割
        int money=10_0000_0000;
        System.out.println(money);

        int years=20;
        int total=years*money;
        System.out.println(total);//-1474836480 ,计算的时候溢出了

        long total2=years*money;
        System.out.println(total2);//-1474836480 ,默认是int,转换之前已经出问题了

        long total3=money*(long)years;//先把任意一个数转化为long
        System.out.println(total3);
        
        // 注意L  与  l的区别,数据类型Long的数字后面规范化加L
    }
}

变量

变量

public class Demo07 {
    public static void main(String[] args) {
        // int a,b,c;
        //int a=1,b=2,c=3; //程序可读性弱
        String name="xiaoming";
        char x='X';
        double pi=3.14;


    }
}

变量作用域

变量作用域

说明:类变量:写在类里面的,需要加一个关键词static

实例变量:写在类中间,与类变量差不多,没有关键词static,在方法的外面类的里面

局部变量:写在方法里面,在方法里边

public class Demo08 {    //类变量:加一个关键词static    static double salary=2500;    //属性:变量    /*实例变量:从属于对象;如果不进行初始化,则该变量会具有一个默认值,    所有的数值类型初始值为0或0.0,字符串变量初始化默认值为 u0000    布尔类型:默认是false    除了基本类型,其余的默认值都是null    */    String name;    int age;    //main方法    public static void main(String[] args) {        //局部变量必须声明和初始化值        int i=10;        System.out.println(i);       //变量类型  变量名 = new Demo08        Demo08 demo08=new Demo08();        System.out.println(demo08.age);        System.out.println(demo08.name);        //类变量:加一个关键词static        System.out.println(salary);    }    //其他方法    public void add(){        System.out.println();    }    //方法块    static{    }}

常量

常量

public class Demo09 {    //修饰符(变量类型前面都是修饰符),不存在先后顺序    static final double PI=3.14; //也可以写成 final static double PI=3.14;    public static void main(String[] args) {        System.out.println(PI);    }}

变量的命名规范

变量的命名规范

运算符

运算符

注意点

package operator;public class Demo03 {    public static void main(String[] args) {        //关系运算符    正确,错误    布尔值        //与if搭配使用        int a = 10;        int b = 20;        int c = 21;      //取余,模运算        System.out.println(c%a); // c/a  21/10=2...1        System.out.println(a>b);        System.out.println(a<b); system.out.println(a="=b);" system.out.println(a!="b);" }}="" ```="" ##="" 自增与自减、幂运算="" ```java="" package="" operator;public="" class="" demo04="" {="" public="" static="" void="" main(string[]="" args)="" ++,--="" 自增,自减="" 一元运算符="" int="" a="3;" b="a++;" 执行完这行代码后,先给b赋值,再自增="" +="" 1="" system.out.println(a);="" c="++a;//执行这行代码前,先自增,再给b赋值" system.out.println(b);="" system.out.println(c);="" 幂运算="" 2^3="2*2*2" =="" 8="" 很多运算,我们会使用一些工具类来操作!="" double="" pow="Math.pow(2,3);" system.out.println(pow);="" 逻辑运算符、位运算符="" demo05="" 与(and)="" 或(or)="" 非(取反)="" boolean="" system.out.println("a&&b:"+(a&&b));="" 逻辑与运算:两个变量都为真,结果才为true="" system.out.println("a||b:"+(a||b));="" 逻辑或运算:两个变量有一个为真,结果才为true="" system.out.println("!(a&&b):"+!(a&&b));="" 如果是真,则变为假,如果是假则为真="" 短路运算="" d="(c<4)&&(c++<4);//前面的c<4,已经为假,所以后面的c++则不会被执行" system.out.println(d);="" false="" 5="" demo06="" *="" 位运算="" 1100="" 1101="" --------------------------------------="" a&b="0000" a|b="0011" a^b="0011" 0001="" 异或:相同则为0,否则为1="" ~b="1111" 0010="" ——————————————————————————————————————————————————————="" 位运算效率极高!!!="" 关于位运算的面试题:2*8怎么运算最快?="" 2*2*2*2="" <<="" 左移:左移一位相当于="" *2一次="">>   右移:右移一位相当于 /2一次        0000 0000      0        0000 0001      1        0000 0010      2        0000 0011      3        0000 0100      4        0000 8000      8        0001 0000      16         */        System.out.println(2<<3); //16:相当于上面的 0000 0010 中的1向左边移了三位    }}
package operator;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);        //字符串连接符  +  :+两侧只要有一方出现String类型,则会把其他操作数都转换成String类型后,再连接        System.out.println(""+a+b); //1020  如果String在前面,则进行拼接        System.out.println(a+b+""); //30  如果String在后面,则它前面的依旧进行运算    }}
package operator;   //三元运算符public class Demo08 {    public static void main(String[] args) {        /*        x ? y : z        如果x == true,则结果为y,否则结果为z         */        int score = 80;        String type = score < 60 ? "不及格" : "及格"; //必须掌握        //if        System.out.println(type);    }}

包机制

包机制

包名

导包

出现错误时的导包操作:Alt + Enter

导入包中的类:

import com.kuang.base.Demo01;

导入包中的所有的类:

import com.kuang.base.*;

JavaDoc

JavaDoc

用命令行生成javadoc:①进入类的文件夹位置:类名处右键->Show in Explorer->进入命令控制窗口

②:输入javadoc -encoding UTF-8 -charset UTF-8 Doc.java

用命令行生成javadoc

③返回该类的文件夹下面会发现出现很多东西,找到并点击index.html ,即可找到该类的JavaDoc

package com.kuang.base;/** * @author kuangshen * @version 1.0                  //前面的这段注释是加在Doc类上面的 * @since 1.8 */public class Doc {    String name;// 类变量(属性)    /**     *     * @param name        //para(参数)     //方法的注释     * @return     */    public String rest(String name){   //方法        return name;    }    /**     * @author kuangshen     * @param name                  //方法的注释     * @return     * @throws Exception     */    public String test(String name)throws Exception{        return name;    }    //通过命令行实现JavaDoc:命令格式为 JavaDoc 参数 Java文件    //作业:学会查找使用IDEA生成JavaDoc文档!面向百度编程!}

基础目录01

</b);>

posted @ 2021-08-11 10:29  爱吃白菜的熊  阅读(36)  评论(0)    收藏  举报