Java基础笔记(b站听狂神说)

一些小知识点(在IDEA中)

psvm,sout,一些快捷键

file–>setting–>搜Font,这是调字体大小和类型的,其他的IDEA的优化在百度都就行;

写代码的前提提供类包:新建项目–>在文件file中新建模块–>在文件file中的Project structure选择正确的SDK(软件开发包),语言级别选择SDK默认的即可—>然后在src上新建类包(简单的就是说给JAVA配置环境)

JAVA基础目录

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

一.注释(和注解不同)

(file–>settings–>Editor–>Color Scheme–>Comments–>选择改为注释类型,就可以根据自己的喜好挑选自己喜欢的颜色;)

  • 单行注释:(只能管这一行的注释,下一行的不归他管)

  • //输出一个Hello,world!
    
  • 多行注释:

  • /*输出一个
    Hello,world!
     */
    
  • 文档注释:(注释的都是有功能的,那单行多行注释没有任何功能,只是提示一下)

  • /**
     * @Description  Hello,world!
     * @Author JAVA01
     */
    
  • ​ (任何注释都不会被执行)

二。标识符

  • 类名方法名还有变量名都被称为标识符。(Java中所有组成部分都有名字)Ctrl+D可以复制多行
  • 所有标识符的开头都必须是以字母(A-Z或a-z),美元符($)或者下划线(_)开始!!!!!
  • (注:可以是中文但为了避免麻烦,尽量不用中文,尽量全部使用英文)
  • 在标识符的内部和结尾处可以以字母(A-Z或a-z)、美元符($)、下划线(_)或者数字的任何字符结合而成
  • 切记不能用Java的关键字作为标识符!!!!
  • 标识符中的大小写字母是不同的,是有区别的,是非常敏感的。例如Man和man就是两个变量

三。关键字

2、数据类型

一。全世界计算机语言类型就分为两种类型,一种强类型语言,还有一种弱类型语言;

  • 二者的区别呢就是变量类型是否能自动转换,例如java就是强类型语言,在这里插入图片描述

1是整型,string是字符串型的,前后不一致,说白了强类型语言就是前后语言类型必须就得相同,不然就会报错,强类型语言包括Java、.net 、Python、C++等。而弱类型语言就是前后语言类型可相同也可以不相同,应用其语言的包括vb 、PHP、javascript等。

二。Java的数据类型

  • 基本数据类型(java内置自带的)
  1. 整数类型:包括int,long,short,byte

    其中:int占4个字节范围:-2147483648-----2147483647

    ​ long占8个字节范围:-9223372036854774808—9223372036854775807:

    ​ short占2个字节范围:-32768–32767

    ​ byte占1个字节范围:-128-127

  2. 浮点类型(也就是小数类型):包括float(占4个字节),double(占8个字节)

  3. 字符类型(就是计算机中使用的字母,数字,字和符号):char(占2个字节)(只有一个字符,string是字符串型)

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

  5. 其中1,2,3被称为数值类型(没用)

 //整数类型(JAVA默认的是int类型)
        int num1=11;
        byte num2=12;
        short num3=14;
        long num8=13;//数据短的转为数据长的自然不会导致数据的丢失
        long num4=15131313129;//整数过大必须加上在最后加上大写字母L;(超出int范围,加上L证明这是long的类型)
        long num0=15131313129L;
        //小数点类型:浮点数类型(JVM默认的是double类型)
        double num5=3.1415;
        float num6=3.1415;//会报错
        float num7=3.1415F;//加上F是为了告诉虚拟机这是float类型,也为了保证数据的不丢失;
     //字符类型
        char num9='A';//单括号里面只能有一个字符
        //boolean类型
        boolean num10=true;
        //其中string不是关键字,而是java的一个类(后面会学到)
        

位(比特(bit)):是计算机中内部数据储存最小的单位;

(电脑中的32位和64位是指CPU处理器一次能处理的最大位数,64位计算机一般指拥有64位的处理器和64位的操作系统,32位计算机一般指拥有32位的处理器和32位的操作系统,而现在的32位处理器只支持安装32位操作系统,64位处理器却能同时支持安装32位和64位操作系统。)

字节(byte):是计算机中数据处理的基本单位,(比特(bit)是计算机中数据处理的最小单位)1个字节顶8个位:

1B=8bit 1024B=1KB 1024KB=1MB 1024MB=1GB

进制之间的转换:

十六进制0x, 0-9,AF(是因为十进制1015在十六进制中没法表示),16

在这里插入图片描述
在这里插入图片描述

在java中进制用特殊字符表示,二进制用0b开头表示,十进制不用字符表示,八进制用0开头表示,十六进制用0x开头表示。

int num1=12;//十进制数字
int num2=0b111;//二进制数字
int num3=02;//八进制数字
int num4=0x111;//十六进制数字

所以字符的本质还是数字;

char a='A';
char B='中';
System.out.println(a);//A
System.out.println((int)a);//65
System.out.println(B);//中
System.out.println((int)B);//20013

ASCII编码是单字节的,无法用来表示中文,而Unicode编码是双字节的,是用两个字节表示一个字符,

下图表示的是Unicode编码,在java中用转义字符(\)表示

char c='\u0065';
System.out.println(c);//输出的是e

在这里插入图片描述
在这里插入图片描述

  • 引用数据类型(Java之外引用的数据类型)也就是JDK里的东西

1.类
2.接口
3.数组

3、类型转换

  • 由于JAVA是强类型语言,所以在一定的需求下需要一些强制类型语言的转换

  • 类型级别:低--------------------------------高

  • byte–>short–>char—>int—>long—>float–>double

  • 强制类型转换:高到低

  • 例如

  • int f=11;
    byte u=(byte)f;
    
  • 方式就是在变量名前加上变量所需的类型;(类型)+(变量名)

  • 自动类型转换:低到高

  • 例如

  • 加不加特定的语言类型都可以

  • byte f=11;
    int u=(byte)f;
    int i=f;
    

注意点:

  1. 不能对布尔值(boolean类型)进行转换

  2. 要注意级别高的类型转为级别低的类型,一定要强制转换,不然会报错!

  3. 在强制转换过程中会出现内存溢出和数字精准度问题:

  4. int a=128;
    double i=(byte)a;
        System.out.println(a);//128
        System.out.println(i);//-128.0出现内存溢出问题,输出byte范围的第一个字符;(不对!!!看下边的图)
        (byte范围是-128--127)
        double b=3.1415;
        int c=(int)b;
        System.out.println(b);//3.1415
        System.out.println(c);//3 出现数值精度问题,数据丢失
    

JDK7的新特性,数字之间可以用下划线分割;

int u=10_0000_0000;
System.out.println(u);//10_0000_0000并不会输出下划线

byte溢出时应输出的一些数据
在这里插入图片描述

其他的类型具体看百度c语言 数据溢出时会输出什么_是想变的很厉害的小菜鸟的博客-CSDN博客_c语言溢出的结果如何得到

4.变量、常量

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

  • 每个变量都必须有变量类型,而变量类型中可以是基本数据类型和引用数据类型;

  • 变量名必须都是合法的标识符;

  • 变量声明必须是一句完整的语句,在变量声明的最后必须以分号结束;

  • type varname=value;(var=variable)

  • 类型 变量名=值; int name1=18;

一。作用域

  • 变量作用域包括类变量,实例变量还有局部变量

  • 在类中可以定义方法,还有一些属性(变量);

  • 局部变量必须在定义的方法中

  • 局部变量必须声明和初始化值

  • 实例变量在类的里面,方法的外面

  • 实例变量从属于对象,如果不对对象进行初始化,输出的时候会输出这个变量类型的默认值

  • 类变量就是在实例变量的基础上加了个static,他是从属于类的,(类变量又叫静态变量)

  • 基本变量类型的默认值是0,0.0,u0000,布尔值的默认值是false

  • 除了基本变量类型,别的默认值都是null(再说一遍string是类,不是基本类型,属于引用类型)

  • public class JAVA02 {
        String  name;
        int age;
        static double B=2000;
        public static void main(String[] args) {
         JAVA02 A=new JAVA02();
            System.out.println(A.age);//输出0
            System.out.println(A.name);//输出null
            System.out.println(B);//实例变量是从属于类的,不用再实例化,直接输出就行,输出B的值2000
           }
    }
    
  • 常量用final修饰,修饰符在变量类型前面,存在多个修饰符的时候是不存在先后的,输出的结果是不受影响的;

public class JAVA02 {
    static final double i=2000;
    final  static double l=2000;
    public static void main(String[] args) {
        System.out.println(i);//输出2000.0
        System.out.println(l);//输出2000.0
}
}

二。变量名命名规范

  • 所有的变量名,类名,方法名都应该用自己熟悉的名字起,尽量都是英文的
  • 类成员变量:首字母小写后面的用驼峰的规则,比如类变量名为lastname,正确的命名应该是lastName
  • 局部变量:首字母小写和驼峰原则,与类成员变量的命名规范相同
  • 常量:大写字母加下划线,例如常量名为firstname ,正确的命名应该是FIRST_NAME
  • 类名:首字母大写加驼峰原则,即如类名为secondname,正确的命名应该是SecondName(准确应该说是类名全部都是驼峰原则)
  • 方法名:首字母小写加驼峰原则,即如方法名为redperson,正确的命名应该是redPerson.
  • 除了类名和常量名,其他的都应该是首字母小写后面的用驼峰原则。

5、运算符

一。基本的运算符

  • 算法运算符:+ - * / % ++ –

  • 赋值运算符:=

  • 关系运算符:> < >= <= == != instance of

  • 逻辑运算符:&&(与) ||(或) !(非),

  • boolean a=false;
    boolean b=true;
    System.out.println(a&&b);//false
    System.out.println(a||b);//true
    System.out.println(!(a&&b));//true
    
  • 位运算符:& ,| ,^,~ ,>> ,<<,>>>(不用记,理解就好了),A=0011 0110,B=1100 1010,A^B=0010 0010

  • ^是相同的数为1,不同的为0,&是全为1才为1,|是有1即为1

  • 条件运算符: ?:

  • 拓展赋值运算符:+=,-=,*=,/=

    public class JAVA02 {
        public static void main(String[] args) {
          long a=10000L;
          int b=90;
         short c=8;
          byte d=7;
            System.out.println(a+b+c+d);//输出的类型是long类型,比int级别高
            System.out.println(b+c+d);//输出的类型是int类型
            System.out.println(c+d);//输出的类型是int类型,只有没有比int高的基本类型,输出的类型都是int类型
    }
    }
    
  • a++和++a的理解

  •     public static void main(String[] args) {
          int a=3;
          int b=a++;//先赋值,后加减,相当于,b=a,  a=a+1,前执行b=a,后执行a=a+1
            System.out.println(a);//输出4
          int c=++a;//先加减,后赋值,相当于,c=a+1,a+1=a,这个a是上一行执行完之后的a,因为在java程序运行中是解释型语言,一句一句的翻译
            System.out.println(a);//输出5
            System.out.println(b);//输出3
            System.out.println(c);//输出5
    }
    
  • 幂运算:在Java中需借助一些工具来做;在做一些特殊的数学运算的时候例如微积分啥的,都得借助Math函数来做运算

  • public static void main(String[] args) {
        //幂运算
       double number2=Math.pow(3,2);
       //Math.pow(double a,double b);
        System.out.println(number2);
    }
    
//短路运算
int c=5;
boolean d=(c<4)&&(c>3);
System.out.println(d);//执行d,在d中c<4,是错误的,到这里程序就不再运行了,就结束了
System.out.println(c);//不执行
//2*2*2*2=16如何快速打出来
System.out.println(2<<3);//2的二进制数左移三位,0000 0010---->0001 0000
  • public class JAVA04 {
        public static void main(String[] args) {
            int a=10;
            int b=20;
            System.out.println(a+b+"");//+可以是字符串连接串,输出30
            System.out.println(""+a+b);//输出1020
        }
    }
    

二。三元运算符

  • X ?Y : Z

  • 如果X的结果为true,输出Y,否则不然输出Z

  • public class JAVA04 {
        public static void main(String[] args) {
          int score=70;
          String score1=score>60?"及格":"不及格";
            System.out.println(score1);//输出结果为及格
        }
    }
    

6.包机制、JavaDoc

一。包装制

  • 建立包,包名一般为域名的倒置,例如www.yy.com需要倒过来写com.yy.com,

  • 如果建立的包只出现一个名字为com.yy.com,那么点击齿轮,取消compact middle packages选择即可出现三层的包

在这里插入图片描述

  • Ctrl+左键可以查看包具体所在的位置

  • import主要用于导入特定的包,位置得在package的下面,package后面是此包的路径

  • 所谓的包就类似于电脑中的文件夹,作用就是减少类名中的命名空间,分类明确

  • import com.yy.*;
    
  • 其中*号是通配符,可以导入yy包下所有的类

    二、JavaDoc

    • JavaDoc是用来生成自己的API文档

    • API文档是一个技术内容交付文件,用来查看类,方法的功能和用法,在大型公司中,开发大型软件时需要涉及到成千上万个类,需要的人员很多,每个人需要负责多个类,而要用到其他人所用到的类,无需看类中方法的过程是怎样形成的,直接通过API文档查看所需的类和方法,然后通过这个类和方法来实现一些特定所需的功能。

    • API文档如图所示在这里插入图片描述

  • 实现API文档:(在新版本的IDEA可以直接生成API文档,工具—>生成JavaDoc)

  • 老办法:右击所需的类,选择打开文件路径的选项,然后通过路径打开命名行窗口,输入以下命令

在这里插入图片描述

  • UTF-8输入所需的java类文件,多个类文件用空格隔开

  • 文档注释就是可以在API文档中显示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

其实在那个里面都能注释,就是一个辅助作用,就是用来给别人看的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值