栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java学习之基础篇

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java学习之基础篇

Java学习之基础篇

为了更形象的将知识点进行总结,我基本给每个知识点都附上了源代码,通过代码的运行来加深对知识点的掌握

1.使用IDEA编写代码

· 新建src文件夹新建java类

· 快捷指令psvm、sout

public class base1 {
    public static void main(String[] args) {//快捷键psvm(适用于IDEA)
        System.out.println();//快捷键sout(适用于IDEA)
    }
}
2.什么是字节

· 位(bit)是计算机内部数据最小储存单位(b)

· 字节(byte)是计算机内部数据处理的基本单位(B)

· 1B=8b

3.数据类型
public class demo1data_type {
    public static void main(String[] args) {
        //八大数据类型(基本类型)(接口类型:类、接口、数组)

        //整数
        int num1 = 10;//最常用  4个字节 -2147483648~2147483647
        byte num2 = 20;//1个字节 -128~127
        short num3 = 30;//2个字节 32768~32767
        long num4 = 30L;//Long类型要在数字后面加L,表明其是Long型  8个字节

        //小数:浮点数
        float num5 = 12.1F;//float类型要在数字后面加F,表明其是float类型  4个字节
        double num6 = 3.1415926535;//8个字节

        //字符
        char name1 = '国';//用单引号  2个字节
        //字符串,String不是关键字,是类
        String name2 = "高宇昂";//所以是双引号

        //布尔值:对错
        boolean judge = true;//false
    }
}

数据类型拓展

public class demo1data_type {
    public static void main(String[] args) {
        //八大数据类型(基本类型)(接口类型:类、接口、数组)

        //整数
        int num1 = 10;//最常用  4个字节 -2147483648~2147483647
        byte num2 = 20;//1个字节 -128~127
        short num3 = 30;//2个字节 32768~32767
        long num4 = 30L;//Long类型要在数字后面加L,表明其是Long型  8个字节
        //整数拓展 进制问题 二进制0b 十进制 八进制0 十六进制0x
        int i1 = 10;
        int i2 = 010;//八进制
        int i3 = 0x10;//十六进制
        System.out.println("========================================================");
        System.out.println("整数拓展");
        System.out.println(i1);
        System.out.println(i2);
        System.out.println(i3);

        //小数:浮点数
        float num5 = 12.1F;//float类型要在数字后面加F,表明其是float类型  4个字节
        double num6 = 3.1415926535;//8个字节
        //浮点数拓展  舍入误差
        //最好避免完全使用浮点数进行比较
        //BigDecimal 数学工具类 了解一下
        float f = 0.1f;
        double d = 1.0 / 10;
        System.out.println("========================================================");
        System.out.println("浮点数拓展");
        System.out.println(f == d);//false
        System.out.println(f);
        System.out.println(d);

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

        //字符
        char name1 = '国';//用单引号  2个字节
        //字符串,String不是关键字,是类
        String name2 = "张三";//所以是双引号
        //字符拓展
        //所有字符的本质还是数字
        System.out.println("========================================================");
        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);
        //转义字符
        // t 制表符
        // n 换行符
        System.out.println("========================================================");
        //对象 从内存分析
        String sa = new String("hello world");
        String sb = new String("hello world");
        System.out.println(sa == sb);

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

        //布尔值:对错
        boolean judge = true;//false
        System.out.println(num1);
        System.out.println(num4);
        //布尔值拓展
        if (judge) {}
        if (judge == true) {}//这两个是一个意思
    }
}


4.数据类型转换

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

由低到高转换byte,short,char->int->long->float->double(小数优先级大于整数)

强制类型转换&自动类型转换

public class Demo2DataTansform {
    public static void main(String[] args) {
        int i = 128;
        byte b = (byte)i;//byte最大为127,内存溢出

        System.out.println("=========================");
        System.out.println(i);
        System.out.println(b);

        //强制类型转换 (类型)变量名  高->低
        //自动类型转换  低->高
        
        System.out.println("=========================");
        System.out.println((int)23.7);
        System.out.println((int)-45.89f);

        char c = 'a';
        int d = c+1;//自动类型转换
        System.out.println("=========================");
        System.out.println(d);
        System.out.println((char)d);

        //操作比较大的数时,注意溢出问题
        //JDK7新特性,数字之间可以用下划线分割,方便阅读
        int money = 10_0000_0000;
        int years = 20;
        int total1 = money*years;//溢出
        long total2 = money*years;//溢出并未解决,因为是先计算再转型,计算结束后已经溢出
        long total3 = money*((long)years);//成功解决溢出,先转型再计算

        System.out.println("=========================");
        System.out.println(total1);
        System.out.println(total2);
        System.out.println(total3);
    }
}


5.Java变量

类变量、实例变量、局部变量、常量

public class Demo3Variable {
    

    //变量作用域
    //类变量、实例变量、局部变量、常量

    //实例变量 从属于对象,在方法外,类内部
    //实例变量在类内部,方法外部,从属于对象,如果不初始化,数值默认为0或0.0,布尔值默认false,除了基本类型其余都是null
    String name;
    int age;//使用后会在声明处变色

    //类变量 相比实例变量加了关键字static
    static double salary = 2500;

    //常量 常量名一般使用大写
    static final double MonTH = 12;

    public static void main(String[] args) {
        //局部变量 必须声明和初始化值 仅在这一个花括号里有用
        int i = 1;
        System.out.println(i);

        //实例变量 变量类型 变量名称 = new 类名
        Demo3Variable demo3variable = new Demo3Variable();//快捷键ALT加回车 可见使用实例变量非常麻烦
        System.out.println(demo3variable.age);//使用后会在声明处变色

        //类变量
        System.out.println(salary);//类变量在这就可以直接输出

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


6.Java运算符

​ 算数运算符:+,-,,/,%,++,–
​ 赋值运算符:=
​ 关系运算符:>,<,>=,<=,==,!=,instanceof
​ 逻辑运算符:&&,||,!
​ 位运算符:&,|,^,~,>>,<<,>>>
​ 条件运算符:?:
​ 拓展赋值运算符:+=,-+,
=,/=

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

        int a = 21;
        int b = 10;

        System.out.println("=============================");
        System.out.println("算术运算");
        System.out.println(a+b);
        System.out.println(a-b);
        System.out.println(a*b);
        System.out.println(a/b);
        System.out.println(a%b);

        System.out.println("=============================");
        System.out.println("关系运算");
        System.out.println(a>b);
        System.out.println(a2)&&(j++>1);
        System.out.println("=============================");
        System.out.println("短路运算");
        System.out.println(k);
        System.out.println(j);//因为j>2为false,所以k必为false,不需要执行后面的j++>1,自然也不会自加,所以值不变

        
        int A = 0b00111100;
        int B = 0b00001101;

        System.out.println("=============================");
        System.out.println("位运算");
        System.out.println(Integer.toBinaryString(A&B));
        System.out.println(Integer.toBinaryString(A|B));
        System.out.println(Integer.toBinaryString(A^B));
        System.out.println(Integer.toBinaryString(~B));//此处存疑,有无更好的方法将输出的二进制数组设为定长

        
        System.out.println("=============================");
        System.out.println("位运算之高效性");
        System.out.println(2<<3);

        //拓展赋值运算符
        int t = 10;
        int y = 20;
        t+=y;//t=t+y
        t-=y;//t=t-y

        //字符串连接符
        int m1 = 1;
        int n1 = 2;
        System.out.println("=============================");
        System.out.println("字符串连接符");
        System.out.println(""+m1+n1);//12
        System.out.println(m1+n1+"");//3

        //条件运算符(三元运算符)
        //x?y:z
        //如果x==true,则结果为y,否则结果为z
        int score = 70;
        String judge = score<60?"不及格":"及格";

        System.out.println("=============================");
        System.out.println("三元运算符");
        System.out.println(judge);
    }
}


包机制

· 为了更好地组织类,java提供了包机制,用于区别类名的命名空间

· 一般利用域名倒置作为包名

package com.base;//包

import java.util.Date;//调包

public class base2 {
    public static void main(String[] args) {
        Date date = new Date();
        System.out.println(date);
    }
}
JavaDoc

· 稍微了解,以后会详细说明

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

· 参数信息:

​ @author作者名

​ @version版本号

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

​ @param参数名

​ @return返回值情况

​ @throws异常抛出情况

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/684476.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号