ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

狂神说Java基础篇笔记

2022-01-11 22:01:32  阅读:123  来源: 互联网

标签:Java String int System 笔记 println 狂神 public out


idea项目管理

  1. 创建empty project(空项目)
    在这里插入图片描述

  2. 新建模块(Module)
    在这里插入图片描述

  3. 选择java–>next
    在这里插入图片描述

  4. 取名(尽量不要是中文)

    在这里插入图片描述

  5. 创建成功(Hello是后续创建的类)
    在这里插入图片描述

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

在这里插入图片描述

在project中设置,jdk版本和语言都为8
在这里插入图片描述

idea注释 样式修改

  1. 点击设置
    在这里插入图片描述

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

在这里插入图片描述

  1. 选择“注释Comments(Annotation是注解)” --> “行注释Line comment” --> 选择”加粗/斜体“ --> 选择颜色 -->点击”Inherit values from“锁定
    在这里插入图片描述
    块注释block comment /* */

    行注释line comment //

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

注释

单行://balabala

多行:/* */

文档注释:/**

​ *

​ *

​ */

百度:有趣的注释

/***
 *                    _ooOoo_
 *                   o8888888o
 *                   88" . "88
 *                   (| -_- |)
 *                    O\ = /O
 *                ____/`---'\____
 *              .   ' \\| |// `.
 *               / \\||| : |||// \
 *             / _||||| -:- |||||- \
 *               | | \\\ - /// | |
 *             | \_| ''\---/'' | |
 *              \ .-\__ `-` ___/-. /
 *           ___`. .' /--.--\ `. . __
 *        ."" '< `.___\_<|>_/___.' >'"".
 *       | | : `- \`.;`\ _ /`;.`/ - ` : | |
 *         \ \ `-. \_ __\ /__ _/ .-` / /
 * ======`-.____`-.___\_____/___.-`____.-'======
 *                    `=---='
 *
 * .............................................
 *          佛祖保佑             永无BUG
 */

/***
 * _ooOoo_
 * o8888888o
 * 88" . "88
 * (| -_- |)
 *  O\ = /O
 * ___/`---'\____
 * .   ' \\| |// `.
 * / \\||| : |||// \
 * / _||||| -:- |||||- \
 * | | \\\ - /// | |
 * | \_| ''\---/'' | |
 * \ .-\__ `-` ___/-. /
 * ___`. .' /--.--\ `. . __
 * ."" '< `.___\_<|>_/___.' >'"".
 * | | : `- \`.;`\ _ /`;.`/ - ` : | |
 * \ \ `-. \_ __\ /__ _/ .-` / /
 * ======`-.____`-.___\_____/___.-`____.-'======
 * `=---='
 *          .............................................
 *           佛曰:bug泛滥,我已瘫痪!
 */

/***
 *      ┌─┐       ┌─┐ + +
 *   ┌──┘ ┴───────┘ ┴──┐++
 *   │                 │
 *   │       ───       │++ + + +
 *   ███████───███████ │+
 *   │                 │+
 *   │       ─┴─       │
 *   │                 │
 *   └───┐         ┌───┘
 *       │         │
 *       │         │   + +
 *       │         │
 *       │         └──────────────┐
 *       │                        │
 *       │                        ├─┐
 *       │                        ┌─┘
 *       │                        │
 *       └─┐  ┐  ┌───────┬──┐  ┌──┘  + + + +
 *         │ ─┤ ─┤       │ ─┤ ─┤
 *         └──┴──┘       └──┴──┘  + + + +
 *                神兽保佑
 *               代码无BUG!
 */

/***
 * http://www.flvcd.com/
 *  .--,       .--,
 * ( (  \.---./  ) )
 *  '.__/o   o\__.'
 *     {=  ^  =}
 *      >  -  <
 *     /       \
 *    //       \\
 *   //|   .   |\\
 *   "'\       /'"_.-~^`'-.
 *      \  _  /--'         `
 *    ___)( )(___
 *   (((__) (__)))    高山仰止,景行行止.虽不能至,心向往之。
 */

/***
 *                 .-~~~~~~~~~-._       _.-~~~~~~~~~-.
 *             __.'              ~.   .~              `.__
 *           .'//                  \./                  \\`.
 *         .'//                     |                     \\`.
 *       .'// .-~"""""""~~~~-._     |     _,-~~~~"""""""~-. \\`.
 *     .'//.-"                 `-.  |  .-'                 "-.\\`.
 *   .'//______.============-..   \ | /   ..-============.______\\`.
 * .'______________________________\|/______________________________`.
 *
 */

标识符和关键字

  • 关键字

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ezlrF5FZ-1641908279496)(C:\Users\31701\AppData\Roaming\Typora\typora-user-images\image-20220107171614221.png)]

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

    • 能以数字开头

    • 能有非法字符

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

命名规则

尽量见名知意

尽量见名知意

尽量见名知意

  1. 包名:全小写

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

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

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

  4. 常量名:所有字母都大写 如: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)

  • 接口
  • 数组

拓展

  1. 整数

    • 二进制(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
  1. 浮点数

    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 有限、离散、舍入误差、大约、接近但不等于
    //最好完全避免使用浮点数进行比较
    //最好完全避免使用浮点数进行比较
    //最好完全避免使用浮点数进行比较
    
  2. 字符

    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
        }
    
  3. 布尔值

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

3. 类型转换

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

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

自动转换:低—>高

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

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

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

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

    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. 变量、常量

  1. 变量
  • 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不能输出
            }
        }
        

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oWlQF6Ik-1641908279497)(C:\Users\31701\Pictures\Screenshots\QQ图片20220111000304.jpg)]

  1. 常量(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;
/**
 *
 * @author TangYingYi
 * @version 1.0
 * @since 1.8
 */
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;//双精度浮点型
    }
    /**
     * 
     * @param name
     * @return
     * @throws Exception
     */
    public String test(String name) throws Exception{
        return name;
    }
}

生成javadoc文档

使用cmd

/*
在cmd中输入命令:
C:\Java\idea\code\JavaSE\基础语法\src\com\tang>
javadoc -encoding utf-8 -charset utf-8 Hello.java
//javadoc 参数 需要生成文档的Java文件名
*/

在这里插入图片描述

使用idea

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

标签:Java,String,int,System,笔记,println,狂神,public,out
来源: https://blog.csdn.net/qq_52514750/article/details/122442287

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有