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

狂神说Java基础篇笔记

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

狂神说Java基础篇笔记

idea项目管理

    创建empty project(空项目)

    新建模块(Module)

    选择java–>next

    取名(尽量不要是中文)

    创建成功(Hello是后续创建的类)

    点击Project Structure(file中也有)设置sdk

在project中设置,jdk版本和语言都为8

idea注释 样式修改

    点击设置

    选择“编辑”–>“颜色模板样式”–>“Java”

    选择“注释Comments(Annotation是注解)” --> “行注释Line comment” --> 选择”加粗/斜体“ --> 选择颜色 -->点击”Inherit values from“锁定

    块注释block comment

    行注释line comment //

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

单行://balabala

多行:

文档注释:

百度:有趣的注释










标识符和关键字

关键字

标识符:只能由字母,数字,_(下划线) ,$ 组成

不能以数字开头

不能有非法字符

可以用汉字命名,但不提倡,最好也不要用中文拼音

命名规则

​ 尽量见名知意

​ 尽量见名知意

​ 尽量见名知意

    包名:全小写

    包名统一使用小写,点分隔符之间有且仅有一个自然语义的英语单词,最好用域名反过来写,不会冲突。如com.cnblogs.sun99bk.myutil等。

    类名、接口名:每个单词的首字母大写 如:ClassName*(驼峰原则)*

    变量名、方法名(参数名、对象名):第一个单词小写,后面单词的首字母大写,如:setName(), dbClassName。(第一个单词小写和驼峰原则)

    常量名:所有字母都大写 如:MAX_COUNT*(大写字母和下划线)*

2. 数据类型

强类型语言–>java

先定义,后使用安全性高速度慢 弱类型语言–>vb,js 基本类型(Primitive type) 数值类型

整数类型

byte(占1个字节)范围:-128~127

字节整型

short(占2个字节)范围:-32768~32767

短整型

int(占4个字节)范围:-2147483648~2147483647

整型

long(占8个字节)范围:

-9223372036854775808~9223372036854775807

长整型4000025L/787955l(数字后面加L)

浮点类型

float占4个字节

单精度浮点型123.123f/165.231F(数字后面加F) double占8个字节

双精度浮点型

字符类型

char占2个字节

String是一个类,不是一个数据类型:可定义字符串

boolean类型:占1位,其值只有true和false两个

Boolean a=false;Boolean a=true; 字节

1B=8bit(1字节=8位)

11001100是一个八位得二进制数

字符

字母、数字、字和符号

一些单位换算

1024B=1kb

1024kb=1M(兆)

1024M=1G

1024G=1TB

引用类型(reference type)

类接口数组 拓展

    整数

    二进制(0b开头)

    十进制(平时使用的数字)

    八进制(0开头)

    十六进制 (0x开头)

    都是以十进制数输出

public static void main(String[] args) {
        int a=10;
        int b=010;
        int c=0x10;
        System.out.println(a);
        System.out.println(b);
        System.out.println(c);
    }
//输出10 8 16

    浮点数

    public static void main(String[] args) {
           float a=0.1f;
           double b=1.0/10;
            System.out.println(a);
            System.out.println(b);
            System.out.println(a==b);
        }
    //输出0.1 0.1 false-->精度丢失,最终判断为不相等
    
    //======================================================
    //浮点数的拓展? 银行业务怎么表示? 钱
    //BigDecimal 数学工具类
    //======================================================
    public static void main(String[] args) {
            float d1=1231564654489f;
            float d2=d1+1;
        //比较两个数是否相等,相等数出true,不相等输出false
            System.out.println(d1==d2);//发现输出了true
        }
    //float 有限、离散、舍入误差、大约、接近但不等于
    //最好完全避免使用浮点数进行比较
    //最好完全避免使用浮点数进行比较
    //最好完全避免使用浮点数进行比较
    

    字符

    public static void main(String[] args) {
            char c1='a';
            char c2='中';
            System.out.println(c1);
            System.out.println((int)c1);//强制转换
            System.out.println(c2);
            System.out.println((int)c2);//强制转换 
        }
    	//编码 Unicode 表  占2字节 最多可表示65536(2^16)个字符
    	
    //所有字符的本质还是数字
    
    Unicode 编码:

    范围U0000~UFFFF

    u0061 (反斜杠表示转义,把后面的字符意思进行转化)

    输出"a"

    'a’的数值对应的为Unicode字符集中’a’字符的编码值

    相当于 97 对应 u0061

    在Java中 “u0061” “a” “97” 三者是等价的

    转义字符:

    t 制表符(相当于隔开一个Tab的长度)

    n 换行

    public static void main(String[] args) {
           String a=new String("don't");
           String b=new String("don't");
            System.out.println(a==b);//输出false
           String c="don't";
           String d="don't";
            System.out.println(c==d);//输出true
        }
    

    布尔值

     public static void main(String[] args) {
           boolean a=true;
           if(a==true){}
           if(a){}//两句等效,默认判断括号里的内容为真
        }
    
3. 类型转换

低 byte,short,char—>int—>long—>float—>double 高

强制转换:高—>低 使用方法:(类型)变量名

自动转换:低—>高

    不能对布尔值进行转换(只占一位)

    不能把对象类型转换为不相干的东西

    在高容量转换到低容量的时候,强制转换

    转换的时候可能存在内存溢出

    public static void main(String[] args){
        int a=128;
        System.out.println((byte)a);//内存溢出,输出-128
    }
    

    或精度异常(float、double转int,直接舍弃小数点后的数)

JDK7新特性:数字之间可以用下划线分割,且不会被输出。

public static void main(String[] args){
    int money=10_0000_0000;//方便数0
    System.out.println(money);//输出1000000000
	System.out.println("====================================");
        int a=10_0000_0000,b=20;
        long c=a*b;
        System.out.println(c); //数据溢出:-1474836480
    //原因:*优先级大于=(赋值),所以先算a*b,输出一个int型的数字,但是由于200_0000_0000超出了int类型的范围,溢出,输出了一个负数,并且直接讲这个负数赋值给了long型的变量c。
    //解决:先将某个变量强转,再计算,再赋值
    //long c=((long)a)*b
}
4. 变量、常量
    变量

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

不建议一行定义多个变量

作用域:

类变量

static修饰的变量

public class Demo1 {
    static double salary=2500;//不实例化可直接使用
    public static void main(String[] args) {
        System.out.println(salary);
    }
}

实例变量

从属于对象

public class Demo1 {
    //不进行初始化,会输出默认值
    // 0 0.0
    //布尔值:默认false
    //除了基本类型,其余都是null
    String name;
    char id;
    int age;
    public static void main(String[] args) {
        //变量类型 变量名= new Demo1();
        Demo1 demo1 = new Demo1();
        //快捷键:new Demo1() Alt+回车 再回车
        System.out.println(demo1.name);//输出null
        System.out.println(demo1.id);//没有输出
        //猜想:因为char是用来装一个字符,没有放东西进去,所以不输出任何东西?
        System.out.println(demo1.age);//输出0
        //快捷键:demo1.age.sout
    }
}

局部变量

定义在所有方法的{}里面

public class Demo1 {
    //main方法(主方法)
    public static void main(String[] args) {
        //局部变量:必须声明和初始化值
        int a=0;
        System.out.println(a);
    }
    //其他方法
    public  void add(){
        System.out.println(a);//没有声明a不能输出
    }
}

    常量(Constant)[全大写]

    常量——特殊变量——初始化(initialize)之后不能再改变

    final 常量名=值;final double PI=3.14;

    public class Demo1 {
        //修饰符,不存在先后顺序,再加个public或者private都是一样的
        static final double PI=3.1415;
        //final static double PI=3.1415;//与上一行等价
        public static void main(String[] args) {
            System.out.println(PI);
        }
    }
    
5. 运算符 Java语言支持如下运算符

算术运算符:+ ,-,*,/,%,++,–

short b=12;
byte c=7;
System.out.println((String)(b+c));
//这样移动鼠标可以查看b+c转换成了什么类型

赋值运算符:=

关系运算符:>,<,>=,<=,==,!=,instanceof

逻辑运算符:&&,||,!

位运算符:&,|,^,~,>>,<<,>>>(了解!!!)

~取反
>>右移 /2
<<左移 *2
2<<3 2左移3位-->2 *2*2*2=16

偷懒:

条件运算符/三目运算:? :

int a=55;
String type = a>60?"及格":"不及格"
//判断a是否>60,是则输出“及格”,否则输出“不及格”

扩展赋值运算符:+=,–,*=,/=

a=a+7;

a+=7;

字符串连接符

输出的所有内容,只要有一个+的一边为String类型,那么其他的将会进行拼接,不会相加。但String必须在运算之前。

int a=10,b=5;
        System.out.println(""+a+b);//输出105
        System.out.println(a+b+"");//输出15
6. 包机制、JavaDoc 包机制

package 包名;

一般利用公司域名倒置作为包名 如:com.baidu.www包名全小写为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包。

使用import语句

import package 包名; JavaDoc

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

参数信息:

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

package com.tang;

public class Hello {
    String name;
    public static void main(String[] args) {
        String name="汤颖仪";
        System.out.println(name+":Hello World!");
        byte num1=127;//整型
        int  num2=26666;//整型
        short num=2000;//短整型
        long a=127L;//长整型
        char b='汤';//字符型
        float c=856.1f;//浮点型
        double d=984.12;//双精度浮点型
    }
    
    public String test(String name) throws Exception{
        return name;
    }
}
生成javadoc文档 使用cmd
 

使用idea


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

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

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