JavaSE基础笔记(1)

1、注释

// / / /* / 单行注释 多行注释 文档注释

2、标识符

3、数据类型

整数类型

  • byte占1个字节范围:-128~127
  • short占2个字节范围:-32768~32767
  • int占4个字节范围:-2147483648~2147483647
  • long占8个字节范围:-9223372036854775808~9223372036854775807

浮点数类型

  • float占4个字节
  • double占8个字节
  • 字符类型char占2个字节

占1位其值只有true和false两个

4、类型转换

注意点:
1、不能对布尔值进行转换
2、不能把对象类型转换为不相干的类型
3、在把大容量转换到低容量,强制转换
4、转换的时候可能存在内存溢出,或精度问题!

示例:

public class Demo{
    public static void main(String[] args){
        //操作比较大的数字的时候,注意溢出问题
        //JDK7新特性。数字之间可以用下划线分割
        int money = 10_0000_0000;
        int years = 20;
        int total = money*years;//-1474836480,计算时溢出了
        long total1 = money*((long)years);//强转解决
        System.out.println(total);
    }
}

5、变量、常量和作用域

  type   varName   [=value]   [{,varName[=value]}]
//数据类型    变量名 = 值;    可以使用逗号隔开来声明多个同类型变量。(不建议)

注意事项:

  • 每个变量都有类型,类型可以是基本类型,也可以是引用类型。
  • 变量名必须是合法的标识符。
  • 变量声明是一条完整的语句,因此每一个声明都必须以分号结束。
public class Demo{
    public static void main(String[] args){
        int a=1,b=2,c=3;//程序可读性
        String name = "CloakBlowing";
        char x = 'x';
        double pi = 3.14;
    }
}

变量作用域
类变量
实例变量
局部变量

public class Variable{
    static int allClicks = 0;//类变量
    String str = "hello world"//实例变量

    public void method(){
        int i = 0;//局部变量
    }
}
public class Demo{
    //类变量 static
    static double salary = 2500;

    //属性:变量

    //实例变量:从属于对象;如果不自行初始化,这个类型的默认值 0 0.0
    //布尔值:默认是false
    //除了基本类型,其余默认值都为null
    String name;
    int age;
    //main方法
    public static void main(String[] args){
        //局部变量:必须声明和初始化值
        int i = 10;
        System.out.println(i);
        //变量类型 变量名字 = new Demo()
        Demo demo = new Demo();
        System.out.println(demo.age);
        System.out.println(demo.name);
        //类变量 static
        System.out.println(salary);
    }

    //其他方法
    public void add(){

    }
}

常量
常量(Constant):初始化后不能再改变值!不会变动的值。
所谓常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变

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

常量名一般使用大写字符。

public class Demo{
    //修饰符,不存在先后顺序
    static final double PI = 3.14;

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

6、运算符

package opreator;

public class Demo{
    public static void main(String[] args){
        //二元运算符
        //Ctrl+D:复制当前行到下一行
        int a = 10;
        int b = 20;
        int c = 30;
        int d = 40;

        System.out.println(a+b);
        System.out.println(a-b);
        System.out.println(a*b);
        System.out.println(a/(double)b);
    }
}
//!注意!如果运算中有long则返回long,有double返回double,默认返回int
package opreator;

public class Demo{
    public static void main(String[] args){
        //关系运算符返回结果布尔值:true/false
        int a = 10;
        int b = 20;
        int c = 21;
        System.out.println(c%a);//取余 21/10 = 2...1

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

7、自增自减运算符、初识Math类

package opreator;

public class Demo{
    public static void main(String[] args){
        //++ -- 自增,自减 一元运算符
        int a = 3;
        int b = a++; //执行这个代码后,先给b赋值,在自增
        //a++ 就是 a=a+1
        System.out.println(a);
        System.out.println(b);
        int c = ++a;//执行这个代码前,先自增,在给b赋值
        System.out.println(c);

        //幂运算2^3
        double pow = Math.pow(2,3);
        System.out.println(pow);

        //逻辑运算符:与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));

        //短路运算
        int c = 5;
        boolean d = (c
package opreator;

public class Demo{
    public static void main(String[] args){
       /*
       A = 0011 1100
       B = 0000 1101
       ---------------------
       //二进制进位
       A&B = 0000 1100
       A|B = 0011 1101
       A^B = 0011 0001
       ~B = 1111 0010

       2*8 = 16 2*2*2*2
       效率极高!!!
       <<   *2
       >>   /2
       */
       System.out.println(2<

8、三元运算符及小结

package opreator;

public class Demo{
    public static void main(String[] args){
        int a = 10;
        int b = 20;
        a+=b;//a=a+b
        System.out.println(a);
        //字符串连接符 +
        System.out.println(a+b);
        System.out.println(""+a+b);

    }
}
package opreator;

//三元运算符
public class Demo{
    public static void main(String[] args){
        //x ? y : z
        //如果x==true,则y否则z
        int score = 80;
        String type = score < 60 ? "不及格" : "及格";//必须掌握
        System.out.println(""+a+b);

    }
}

9、包机制

为了更好的组织类,Java提供了包机制,用于区别类名的命名空间。
包语句的语法格式:

package pkg1[.pkg2[.pkg3...]];

一般利用公司域名倒置作为包名;
为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包。使用”import”语句可完成此功能。

import package1[.package2...].(classname|*);

10、Java Doc生成文档

javadoc 命令是用来生成自己 API 文档的
参数信息

  • @author 作者名
  • @version 版本号
  • @since 指明需要最早使用的jdk版本
  • @param 参数名
  • @return 返回值情况
  • throws 异常抛出情况
package com.CloakBlowing.base;
/**
 *@author 披着披风吹着风
 *@version 1.0
 *@since 1.8
 */
public class Doc{
    String name;
    /**
     *@author 披着披风吹着风
     *@param name
     *@reyurn
     *@throws Exception
     */
    public String test(String name){
        return name;
    }
}

DOS命令:

javadoc 参数 Java文件

javadoc -encoding UTF-8 -charset UTF-8 Doc.java

Original: https://www.cnblogs.com/CloakBlowing/p/16060070.html
Author: 披着披风吹着风
Title: JavaSE基础笔记(1)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/712435/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 存储学习

    在本站不再更新,在CSDN上继续更新:https://blog.csdn.net/pengdonglin137/article/details/130813687 Linux I/…

    技术杂谈 2023年5月31日
    0129
  • PyQt5 UI文件的使用方法

    ################################ PyQt5中文网 – PyQt5全套视频教程 # https://www.PyQt5.cn/ # 主讲: 村长 #…

    技术杂谈 2023年5月31日
    087
  • Mac添加自定义启动图标到Launchpad

    1、使用Automator进行录制 2、选择Application 3、使用运行shell脚本 4、保存在应用程序 5、效果 参考: https://apple.stackexch…

    技术杂谈 2023年5月30日
    088
  • Jenkins发布SpringBoot项目

    第二步:Configure System (系统设置) 我们只需要设置最后面的一项,配置远程服务SSH: 配置完成后点击保存即可,为后面我们配置自动化部署做准备,配置如下图: 第三…

    技术杂谈 2023年7月11日
    067
  • WIN10平板 如何关闭自动更新

    找到Windows Update,设置启动类型为禁用即可 本文为博主原创文章,未经博主允许不得转载。 Original: https://www.cnblogs.com/aceta…

    技术杂谈 2023年5月31日
    0120
  • 【Golang】golang实现post请求发送form类型数据函数

    golang实现post请求发送form类型数据函数 //发送http post请求数据为form func PostForm(url string, data url.Value…

    技术杂谈 2023年6月1日
    080
  • Spring Cloud Alibaba分布式事务组件 seata 详解(小白都能看懂)

    一,什么是事务(本地事务)? 指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。 简单的说,事务就是并发控制的单位,是用户定义的一个操作序列。 _而一个逻辑…

    技术杂谈 2023年7月11日
    075
  • 图像搜索、以图搜图测试

    图像搜索、以图搜图测试; Original: https://www.cnblogs.com/chenying99/p/12534633.htmlAuthor: 刺猬的温驯Titl…

    技术杂谈 2023年5月31日
    0102
  • Golang内存管理和垃圾回收

    超干货!彻底搞懂Golang内存管理和垃圾回收 https://mp.weixin.qq.com/s/7Yjk9oeOPSm1h1SEnNh13A Golang内存管理和垃圾回收 …

    技术杂谈 2023年5月30日
    098
  • 实现邮箱发送验证码功能

    实现注册和忘记密码界面的邮箱发送验证码功能 邮箱验证步骤 本文使用了redis数据库做验证码的缓存,不想用redis数据库也可以直接将验证码放入mysql中,设置验证码有效期即可。…

    技术杂谈 2023年7月11日
    065
  • 下载Wistia视频

    视频上右键后会出现类似下图的对话框的视频就属于本日记讨论的对象。 右键会有About Wistia2. Copy link and thumbnail 点击,粘贴到记事本。会得到类…

    技术杂谈 2023年5月31日
    085
  • springboot自定义拦截器

    1、创建拦截类 @Configuration public class InterceptorAdapterConfig implements WebMvcConfigurer {…

    技术杂谈 2023年7月25日
    072
  • HelloWorld

    新的起点,新的征程,未来可期! posted @2022-07-27 10:57 旅程~ 阅读(10 ) 评论() 编辑 Original: https://www.cnblogs…

    技术杂谈 2023年7月24日
    080
  • 定制化知识图谱 项目介绍

    宣传网站 http://dingzhitupu.com/ 定制化知识图谱 根据您的业务特性,通过图分析、建模,创建专门适合与您业务逻辑的专有知识图谱 特性介绍 用户不必懂相关技术 …

    技术杂谈 2023年5月31日
    097
  • 聊聊Vim的工作原理

    聊聊Vim的工作原理 日常里一直在用Vim这个编辑器,前阵子学习关于Linux中的fd(文件描述符)时,发现vim的进程描述符会比上一个自动加一,后续了解到vim的工作原理后,解开…

    技术杂谈 2023年7月11日
    0105
  • iaas,saas,paas,daas区别:

    iaas,saas,paas,daas区别: Iaas(Infrastructure as a server):基础设施即服务,是基础层。PaaS(Platform as a Se…

    技术杂谈 2023年5月30日
    093
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球