java学习

Java

2020/8/18(基础)

1. 注释,标识符,关键字

//单行注解
/*
 *多行注释
 */
/**
 * 段落注释
 */

 

Sout

 

System.out.println("b1.main");

 

psvm

 

public static void main(String[] args) {

 

 

2. 类型

//        八大类型
//        整数
        Intt
        int num1= 10;//最常用
        byte num2 = 20;
        short num3  =30;
        long num4 = 30L;//long类型要在数字后边加L

//        小数
        float num5 = 50.1F;//float后边加F
        double num6 = 3.1415926;

        //字符
        char name = 'a';
        //字符串 关键字  是类
        String name = 'qin';


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

 

 

3. 银行问题


   //银行问题   
   // float  有限  离散  舍入误差  大约  但不相等
//银行使用BIGDECIMAL  数据类型
 //double

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

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

float d1 = 2333333333333333f;
float d2 = d1+1;

System.out.println(d1==d2);//true

4. 强制转换

//        强制转换
          char c1 = '';
          char c2 = 'a';

          System.out.println(c1);
          System.out.println((int)c1);

          System.out.println(c2);
          System.out.println((int) c2);

//          所有的字符本质还是数字

 

 

5. 编码

//        编码   Unicode 表(97 = a  65 = A
        //U000 UFFF
        char c3 = '\u0061';
        System.out.println(c3);

 

6. 转义字符

//        转义字符
//\t
//\n
System.out.println("he  \t mo");
System.out.println("he  \n mo");

 

7. 对象比较

 String sa = new String("hello world");
 String sb = new String("hello world");

 System.out.println(sa == sb);

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

System.out.println(sc == sd);

 

8. 强制转换

//        强制转换
        int i = 128;
        //byte b = (byte)i;//内存溢出
        double b = i;
        //强制转换  (类型) 变量名   高到低
        //自动转换  -
        System.out.println(i);
        System.out.println(b);
//        1. 不能对boole转换
//        2。不能把对象类型转换为不相干类型
//        3. 大容量转换低容量   强制转换
//        4.转换时可能出现内存溢出  精度问题

 

9. Char转换

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

 

10. 操作比较大的数据   会溢出问题

 

//10.操作比较大的数据   会溢出问题
//jdk7 新特性  数字之间 可以用下划线分割

//        数据类型大小  byte<short<char<int<long<float<double


int money = 10_0000_0000;
int years = 20;
int total = money*years;

long total2 = money * years;

long total3 = money * ((long)years);//先把一个数转换为long
System.out.println(total);//-1474836480  计算溢出
System.out.println(total2);//默认是int类型计算  转换之前就存在问题
System.out.println(total3);

 

 

11. 类变量

 //类变量
    static double salary =2500;


    //属性:变量
    //实例对象   :从属于对象  如果不禁想初始化  这个类型默认值为   0
    String name;
    int age;
    //main 方法
    public static void main(String[] args) {
//        局部变量   必须声明和初始化
        int i = 10;
        System.out.println(i);

        //变量类型  变量名字   = new  b6();
        b6 b = new b6();
        System.out.println(b.age);
        System.out.println(b.name);

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

 

12. 静态常量

//静态常量
//修饰符  不分前后顺序
static final double PI = 3.14;
// final  static double PI = 3.14;

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

 

13. 驼峰原则


    //驼峰原则
    1.类成员变量,除第一个单词以外,后边单词首字母大写 lastName
    2.局部变量  首字母小写和驼峰原则 tName
    3.常量  大写字母和下划线 MAX_VALUE
    4.类名 首字母大写和驼峰原则  Man GoodMan
    5.方法名 首字母小写和驼峰原则  run() runRun()

14. 二元运算

    //运算符
    public static void main(String[] args) {
//        二元运算
//        crtl+D  复制当前行到下一行

        int a = 10;
        int b = 20;
        int c = 25;
        int d = 25;
        System.out.println(a+b);
        System.out.println(a-b);
        System.out.println(a*b);
        System.out.println(a/(double)b);

 

15. 基本运算

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

//        如果数据类型有Long  结果都有 Long
//其余都为  INT
        System.out.println(a+b+c+d);//Long
        System.out.println(b+c+d);//Int
        System.out.println(c+d);//INT

 

2020/8/19(基础)

16. ++i   i++

i++

int a = 3;
int b = a++;//先进行赋值  再进行++

//a++  a =a+1  隐藏代码
System.out.println(a);
System.out.println(b);

 

++i

int a = 3;
int b = ++a;  //先进行自增  再进行赋值
//++a  a =a+1  隐藏代码

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

 

17. 幂函数

//幂函数   2^3   2*2*2=8
double pow  = Math.pow(3,2);
System.out.println(pow);

 

18. 逻辑运算符

//逻辑运算符
//  与(and  (or)   (取反)
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));

 

19. 短路运算

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

 

 

20. 位运算

//位运算
/*
A= 0011 1100
B= 0000 1101
--------------
A&B = 0000 1100  只有上下都为1  结果为1
A|B = 0011 1101  只要出现0  就是0  只要出现一个1  就是1
A^B = 0011 0001  相同为0  相反为1
~B = 1111 0010   取反

2*8 = 16  2*2*2=16
 */

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

 

 

21. 字符串拼接


//字符串连接符
int a = 10;
int b = 20;

System.out.println(a+b);
System.out.println(""+a+b);//后边为string类型
System.out.println(a+b+"");//先获取值

 

22. 三元运算

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

23. 包名  公司域名倒置作为包名(com.baidu

 

 

package com.fun.operator;

import com.fun.base.*
//导入包下所有的类
public class B18 {
    //23.包名  公司域名倒置作为包名
}

 

24. JavaDoc   文档注释

 

//    24.JavaDoc   文档注释

    /**
     * @auther  fun
     * @version 1.0
     * @param args
     */
    public static void main(String[] args) {

        String name ;
        /**
         * @author  作者名
         * @version 版本号
         * @since 指明需要最早使用的jdk版本
         * @param 参数名
         * @return 返回值情况
         * @throws 异常抛出情况
         */
        public String test(String name);
        return name;

2020/8/19Java 流程)

1.scanner

//        创建一个扫描器对象,用于接收键盘数据
        Scanner scanner = new Scanner(System.in);

        System.out.println("使用next方式接收");

//        判断用户有没有输入
        if (scanner.hasNext()) {
            //使用next方式接收
            String str = scanner.nextLine();
            System.out.println("输出内容为:"+str);
        }

//        nextLine回车之后都会打印    next有空格就不会打印


        scanner.close();//关闭scanner

2.if循环判断

 //if循环判断
    //考试分数大于60就是及格  小于60就是不及格

    Scanner scanner = new Scanner(System.in);
    System.out.println("请输入成绩");

    int score  = scanner.nextInt();
    if (score > 60) {
        System.out.println("及格");
    }else {
        System.out.println("不及格");
    }
    scanner.close();45

}

 

3.if循环判断

//if循环判断
//考试分数大于60就是及格  小于60就是不及格

Scanner scanner = new Scanner(System.in);
System.out.println("请输入成绩");

int score  = scanner.nextInt();
if (score > 60) {
    System.out.println("及格");
}else {
    System.out.println("不及格");
}
scanner.close();

3.switch 多选择结构

 

//.switch 多选择结构
public static void main(String[] args) {
    //case穿透   //switch  匹配一个具体的值
    char grade = 'B';
    switch (grade){
        case 'A':
            System.out.println("优秀");
            break;
        case 'B':
            System.out.println("良好");
            break;
        case 'C':
            System.out.println("及格");
            break;
            default :
                System.out.println("未知");

    }
}

4.while循环

//    While循环
public static void main(String[] args) {
//    计算1+2+3+...+100=?
    int i = 0;
    int sum = 0;

    while(i<=100)
    {
        sum=sum+i;
        i++;
    }
    System.out.println(sum);
}

5.do.....while循环

2020/8/25Java

1.方法重载


public class demo1
{
    public static void main(String[] args) {
        int max = max(10,10);
        System.out.println(max);


    }

//    比较大小 输出最大值

//重载就是在一个类中 有相同的函数名称 但形参不同的函数
    public  static int max(int num1,int num2){
         int result = 0;

         if (num1 == num2) {
             System.out.println("num1=num2");
             return 0;

         }

         if (num1 < num2) {
            result = num2;
         }else {
             result = num1;
         }
         return result;

    }

2.数组

 

public static void main(String[] args) {
        int[] nums;//定义
        nums = new int[10];//存放10个类型数字

//        int [] nums2 = new int[10];
        nums[0]=1;
        nums[1]=1;
        nums[2]=2;
        nums[8]=8;
//        nums[9]=12;
        System.out.println(nums[0]);
        System.out.println(nums[8]);
        System.out.println(nums[9]);
        System.out.println("======================================");

     int sum = 0;
     for (int i = 0; i < nums.length; i++) {
         sum = sum+nums[i];

     }
        System.out.println(sum);
    }

3.数组(静态初始化)

//    静态初始化数组
public static void main(String[] args) {
    int[] a = {1,2,3,4};
    System.out.println(a[0]);
}

4.接口

package com.fun.Demon09;

public interface UserService {
    //定义接口
    void add(String name);
    void delete(String name);
    void update(String name);
    void query(String name);

5.抽象类


//abstract 抽象类:类 extends: 单继承  (接口可以实现多继承)

public class Demo09 {
    //抽象类
    //abstract  抽象方法   只有方法名字,没有方法的实现

    public  abstract  void doSomething();

    //1.不能new 这个抽象类 只能靠子类去实现它 进行约束
    //2.抽象类中可以写普通的方法
    //3.抽象方法必须在抽象类中
    //抽象类的抽象   约束

 

6.抛异常

//抛异常
public static void main(String[] args) {
    int a=1;
    int b = 2;
    try {
        System.out.println(a/b);
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
    }

 

2020/8/31(网络协议)

1.网络协议

//应用层  Application
//表示层 Presentation
//会话层 Session    应用层

//传输层 Transport  传输层

//网络层 Network  网络层

//数据链路层 Data Link
//物理层 Physical      数据链路层

 

2020/9/3(注解)

1.元注解

 

//元注解
//Target  注解标识我们的注解可以用在哪些地方
@Target( value = {ElementType.METHOD,ElementType.TYPE})

//@Retention 表示我们注解在什么地方还有效果
// runtime > class >souurces
@Retention({value =RetentionPolicy.RUNTIME})

//Documented 表示是否将我们的注解生成在JAVAdoc
@Documented

//Inherited  子类可继承父类的注解
@Inherited

 

posted @ 2020-09-04 15:17  Ericker  阅读(51)  评论(0)    收藏  举报