JavaDay02

自学JavaDay02

Java基础

数据类型拓展

//整数拓展:进制  二进制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("==================================");

        //浮点数拓展  银行业务怎么表示
        // float  有限  离散  舍入误差  大约  接近但不等于
        // double
        //最好完全避免使用浮点数进行比较
        //最好完全避免使用浮点数进行比较
        //最好完全避免使用浮点数进行比较
        float f = 0.1f;
        double d = 1.0 / 10;

        System.out.println(f == d);
        System.out.println(f);
        System.out.println(d);

        float d1 = 23232323232323232323f;
        float d2 = d1 + 1;
        System.out.println(d1 == d2);
        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);
        //所有的字符本质还是数字
        //编码 Unicode表

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

        //转义字符  \t:制表符  \n:换行  ...
        System.out.println("Hello\tWorld");

        //布尔值拓展
        boolean falg1 = true;
        if (flag == true) {
        }
        if (flag) {
        }//完全等价

//操作比较大的数的时候,注意溢出问题
        //JDK7新特性,数字之间可以用下划线分割
        int money = 10_0000_0000;
        int years = 20;
        int total = money*years;
        long total1 = money*years;
        long total2 = ((long)money)*years;//类型转换
        System.out.println(total);//-1474836480
        System.out.println(total1);//默认为int,转换之前已经存在问题
        System.out.println(total2);//正常输出




        int i =128;
        byte b = (byte)i;//内存溢出
        double c = i;
        System.out.println(i);
        System.out.println(b);
        System.out.println(c);
        //强制转换 (类型)变量名  高--低
        //自动转换  低--高

        /*
        * 注意点:
        * 1.不能对布尔值进行转换
        * 2.不能把对象类型转换为不相干的类型
        * 3.在把高容量转换到低容量的时候,强制转换
        * 4.转换的时候可能存在内存溢出,或者精度问题
        * */

        System.out.println("===================");
        char a ='a';
        int d= a+1;
        System.out.println(d);
        System.out.println((char)d);


变量

最基本的存储单元,要素包括变量名,变量类型和作用域

注意事项

  • 每个变量都有类型,可以是基本类型,也可以是引用类型
  • 变量名必须是合法的标识符
  • 变量声明是一条完整的语句,必须以分号结尾
public class demo04 {
    //常量  final 常量名 = 值
    static final double PI = 3.14;

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

    //属性:变量

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

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

        //变量类型  变量名字 = new demo08()
        demo04 Demo04 = new demo04();
        System.out.println(Demo04.age);
        System.out.println(Demo04.name);

        //类变量
        System.out.println(salary);

        //常量
        System.out.println(PI);
    }

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

    }
}

命名规范

  • 所有变量、方法、类名:见名知意
  • 类成员变量:首字母小写和驼峰原则--monthSalary
  • 局部变量:首字母小学和驼峰原则
  • 常量:大写字母和下划线--MAX_VALUE
  • 类名:首字母大写和驼峰原则--Man,GoodMan
  • 方法名:首字母小写和驼峰原则

运算符

package operator;

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

        //三元运算符
        //x ? y : z--如果x==true,则结果为y,否则为z
        int score = 50;
        String type = score < 60 ? "不及格" : "及格";//必须掌握
        System.out.println(type);

//        int a = 10;
//        int b = 20;
//        System.out.println(a+=b);
//        System.out.println(a-=b);
//        //字符串连接符  + ,String
//        System.out.println(""+a+b);//把a和b当String连接起来
//        System.out.println(a+b+"");//先运算

        //位运算符
        /*
        A=0011 1100
        B=0000 1101

        A&B = 0000 1100
        A|B = 0011 1101
        A^B = 0011 0001  异或
        ~B = 1111 0010

        计算2*8 = 16
        <<  左移
        >>  右移
        效率极高!
        0000 0000    0
        0000 0001    1
        0000 0010    2
        0000 0011    3
        0000 0100    8
        0000 1000    16

         */
//        System.out.println(2<<3);




//        //与  或  非
//        boolean a = true;
//        boolean b = false;
//
//        System.out.println("a && b:"+(a&&b));//逻辑与运算
//        System.out.println("a || b:"+(a||b));//逻辑或运算
//        System.out.println("!(a && b):"+!(a&&b));//逻辑非运算
//
//        //短路运算
//        int c = 5;
//        boolean d = (c<4)&&(c++<4);
//        System.out.println(d);
//        System.out.println(c);//5,不执行c++

//        //++ -- 一元运算符
//        int a = 3;
//        int b = a++;//执行这行代码后,先给b赋值,再自增
//        //a = a + 1;
//        System.out.println(a);
//        //a = a + 1;
//        int c = ++a;//执行这段代码前,先自增,再给c赋值
//        System.out.println(a);
//        System.out.println(b);
//        System.out.println(c);
//
//        //幂运算  2^3 很多运算,我们会使用一些工具类来操作
//        double pow = Math.pow(2, 3);
//        System.out.println(pow);
        
        //关系运算符返回结果:正确or错误  布尔值
        int a = 10;
        int b = 20;
        int c = 21;
        System.out.println(a>b);
        System.out.println(a<b);
        System.out.println(a==b);
        System.out.println(a!=b);
        System.out.println(c%a);




//        long c = 123134354656343L;
//        int d = 123;
//        short e = 10;
//        byte f = 8;
//        System.out.println(c+d+e+f);//long
//        System.out.println(d+e+f);//int
//        System.out.println(e+f);//int



        //二元运算符
//        int a = 10;
//        int b = 15;
//
//        System.out.println(a+b);
//        System.out.println(a-b);
//        System.out.println(a*b);
//        System.out.println(((double)a)/b);
    }

}

包机制

相当于文件夹

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

package pkg1 [.pkg2.[.pkg3...]]

import package [.package2...].(classname|*)

JavaDoc

生成自己的API文档

参数信息

  • @author 作者名
  • @version 版本号
  • @since 知名需要最早使用的jdk版本
  • @param 参数名
  • @return 返回值情况
  • @throws 异常抛出情况

使用idea生成javadoc文档

Java流程控制

用户交互Scanner对象

语法 Scanner s = new Scanner (System.in);

next()

  • 读到有效字符串结束输入

  • 输入字符串之前的空白自动去掉

  • 输入有效字符串之后将后面输入的空白作为分隔符或结束符

  • 不能得到带有空格的字符串

nextLine()

  • 以Enter为结束符
  • 可以获得空白

简单的输入输出

package com.th1024.scanner;

import java.util.Scanner;

public class Demo03 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.println("输入数据:");

        String str = scanner.nextLine();
        System.out.println("输出的结果为:" +str);

        scanner.close();
    }
}

结构

  1. 顺序结构

    是所有算法的基础结构

  2. 选择结构

明天继续...

posted on 2020-12-27 21:56  来点番茄酱  阅读(76)  评论(0)    收藏  举报