java基础-给个一键三联呗^_^哈哈

news2024/9/24 13:22:49

文章目录

    • 1.注释
        • 修改注释字体
        • 三种注释方式
    • 2.标识符和关键字
    • 3.数据类型
    • 4.类型转换
    • 5. 变量、常量、作用域
    • 6.基本运算符
    • 7.自增自减运算符、初识Math类
    • 8.逻辑运算符、位运算符
    • 9.三元运算符及小结
    • 10.包机制
    • 11.JavaDoc生成文档

1.注释

修改注释字体

打开设置Settings
在这里插入图片描述
在这里插入图片描述

三种注释方式

在这里插入图片描述
有趣的代码注释

2.标识符和关键字

1)48个关键字:abstract、assert、boolean、break、byte、case、catch、char、class、continue、default、do、double、else、enum、extends、final、finally、float、for、if、implements、import、int、interface、instanceof、long、native、new、package、private、protected、public、return、short、static、strictfp、super、switch、synchronized、this、throw、throws、transient、try、void、volatile、while。
2)2个保留字(现在没用以后可能用到作为关键字):goto、const。
3)3个特殊直接量:true、false、null。
Java中的关键字有哪些?「Java中53个关键字的意义及使用方法」

标识符注意点
只能由字母(大小写,26个英文字母)、数字(0~9)、下划线“_”和“$”符组成。
数字不可以开头。
不可以使用关键字和保留字,但是可以包含关键字和保留字。
Java中严格区分字母大小写
对长度无要求。
标识符内不能含有空格。

3.数据类型

强类型语言:必须定义变量
Java 的两大数据类型:

  • 内置数据类型
  • 引用数据类型
    数据类型
package com.wind;

public class Demo01 {
    public static void main(String[] args)
    {
        int num1=10;
        byte num2=20;
        short num3=30;
        long num4=40;
        //浮点数
        float num5=50.1F;
        double num6=3.123023849348324;
        //字符
        char name='国';
        //字符串String 不是关键字 是类
        String namea="逸尘";
        //布尔值:
        boolean flag=true;
        System.out.println(num1);
        System.out.println(num2);
        System.out.println(num3);
        System.out.println(num4);
        System.out.println(num5);
        System.out.println(num6);
        System.out.println(name);
        System.out.println(namea);
    }
}

位(bit):内部数据存储的最小单位
字节(byte):数据处理的基本单位 B
字符:计算机中使用的字母,数字,符号

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

二进制 0b
十进制
八进制 0
十六进制 0x

package com.wind;
import java.net.SocketOption;
public class Demo02 {
    public static void main(String[] args)
    {
        int i=10;
        int i2=010;
        int i3=0x10;
        System.out.println(i);
        System.out.println(i2);
        System.out.println(i3);
        System.out.println("================================");
        /*浮点数扩展:银行业务如何表示?
        float? double?
         */
        float f=0.1f;
        double d=0.1;
        System.out.println(f==d);
        System.out.println(f);
        System.out.println(d);
        float d1=2328342384323f;
        float d2=d1+1;
        System.out.println(d1==d2);
    }
}

运行结果:
10
8
16
================================
false
0.1
0.1
true

double类型的0.1和float类型的0.1不相等?
因为在 Java 中,float 和 double 类型都采用二进制浮点数表示法来存储实数,而这种表示法有时会导致精度损失。
具体来说,由于浮点数使用二进制进行存储,而十进制小数 0.1 在二进制中是一个无限循环小数,因此在将其转换为浮点数时,会近似为最接近的二进制浮点数。这个过程可能会导致精度损失。在 Java 中,float 类型使用 32 位二进制浮点数表示,而 double 类型使用 64 位二进制浮点数表示,因此 float 类型的精度比 double 类型低。

 //字符扩展
        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);
输出:
================================
a
9720013

字符本质上是数字,ASCII码,Unide码等等
转义字符
在这里插入图片描述

4.类型转换

自动类型转换:
在这里插入图片描述
强制类型转换

package com.wind;
public class Demo03 {
    public static void main(String[] args)
    {
        int i=128;
        byte b=(byte)i; //出现数据逸出
        System.out.println(i);
        System.out.println(b);
    }
}

byte:表示的范围为:占一个字节=8bit ,2的8次方=256,256/2=128,有正负包含0,可知范围:
-128到127

byte 数据类型是8位、有符号的,以二进制补码表示的整数;
最小值是 -128(-2^7);
最大值是 127(2^7-1);
默认值是 0;
byte 类型用在大型数组中节约空间,主要代替整数,因为 byte 变量占用的空间只有 int 类型的四分之一;
例子:byte a = 100,byte b = -50。

注意点:

  1. 不能对布尔值进行转换
  2. 不能把对象类型转为不相干的类型
  3. 在把高转低容量时,强制转换
  4. 转换的时候可能存在内存溢出,或精度问题
long a=100_100_00;
System.out.println(a);

数字间可用下划线分割!

5. 变量、常量、作用域

public class Demo04 {
    //类变量 static
    static double salary=2500;
    //实例变量:从属于对象,如果不自行初始化,默认值0,0。0
    //布尔值默认false
    //除了基本类型其他都是null
    String name;
    int age;
    public static void main(String[] args)
    {
        int i=10; //局部变量
        System.out.println(i);
        //变量类型 变量名字 =new Demo04();
        Demo04 demo04= new Demo04();
        System.out.println("========================>");
        System.out.println(demo04.age);
        System.out.println(demo04.name);
        System.out.println("实习:"+salary);
    }
}

常量:初始化后不能改变的值,不会变动的值,使用final定义,可以写在static的前后均可。
所谓常量可以理解为一种特殊的变量,他的值被设定后,在程序运行期不能被改变。
常量名一般使用大写字母。

public class Demo05 {
	//final 不分先后
    final static double PI=3.14;
    public static void main(String[] args)
    {
        System.out.println(PI);
    }
}

所有变量、方法、类名:见名知意
类成员变量:首字母小写和驼峰原则: monthSalary除了第一个单词以外,后面的单词首字母大写lastname lastName
局部变量:首字母小写和驼峰原则
常量:大写字母和下划线:MAX_VALUE
类名:首字母大写和驼峰原则: Man,GoodMan方法名:首字母小写和驼峰原则: run(), runRun()

6.基本运算符

在这里插入图片描述

public class Demo06 {
    public static void main(String[] args)
    {
        long a=123434243235L;
        int b=123;
        short c=10;
        byte d=1;
        System.out.println(a+b+c+d); //Long 自动类型转换,从小转大容量的
        System.out.println(b+c+d);  //int
        System.out.println(c+d);   //int
    }
}

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

自增自减要看在前面还是在后面,在前面先自增/减运算再赋值,在后面先赋值后自增/减

int a=4;
int b=4;
int c,d;
c=++a; //等价于a+=1;c=a;
d=b++; //等价于d=c;c+=1;
System.out.println(c); //5
System.out.println(d); //4

8.逻辑运算符、位运算符

在这里插入图片描述

短路运算
&&运算:表达式1&&表达式2,当表达式1为假时,后面的表达式2不再执行,进而短路。整个表达式返回假false;
||运算:表达式1||表达式2,当表达式1为真时,后面表达式2不再执行。

int c=5;
boolean d=(c<4)&&(c++<4);
System.out.println(d); //false
System.out.println(c); //5

在这里插入图片描述
实例:
在这里插入图片描述

9.三元运算符及小结

result=表达式?true:false;
如果表达式为真,返回true给result,否则返回false给result;

public class Demo07
{
    public static void main(String[] args)
    {
        int score=60;
        String type;
        type=score>=60?"及格":"不及格";
        System.out.println(type);
    }
}

10.包机制

在 Java 中,包(Package)是用来组织类和接口的一种机制。它可以将相关的类和接口放在一个命名空间下,以避免命名冲突,并提高代码的可读性和可维护性。

一个包可以包含多个类或接口,也可以嵌套其他包。包的命名采用倒置的域名格式,例如 com.example.mypackage。这种命名方式可以确保不同开发者的包名不会冲突,同时也方便了代码组织和管理。

Java 中的包使用 package 关键字进行声明,通常位于源文件的第一行。例如:

package com.example.mypackage;

public class MyClass {
    // 类的定义
}

在上面的代码中,我们声明了一个名为 com.example.mypackage 的包,并在其中定义了一个类 MyClass。其他源文件可以通过 import 语句引入该包中的类,例如:

import com.example.mypackage.MyClass;

public class Main {
    public static void main(String[] args) {
        MyClass myObj = new MyClass();
        // 使用 MyClass 类
    }
}

在上面的代码中,我们通过 import 语句引入了 com.example.mypackage 包中的 MyClass 类,并在 main 方法中创建了一个 MyClass 类的对象。
导入一个包中所有的类可以使用*号

import com.example.mypackage.*;

11.JavaDoc生成文档

在这里插入图片描述

package com.wind;

/**
 * @author wind
 * @version 1.0
 * @since 1.8
 */
public class Doc {
    String name;

    /**
     * @author wind
     * @param name
     * @return
     * @throws Exception
     */
    public static void main(String[] args) throws Exception
    {
        return name;
    }
}

在这里插入图片描述
执行如下命令行:
在这里插入图片描述
文件目录多出了这些文件:
在这里插入图片描述
打开index.html得到下面的页面:
在这里插入图片描述
思考:如何使用IDEA生产javaDoc文档?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1364895.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

IDEA 每次新建工程都要重新配置 Maven的解决方案

文章目录 IDEA 每次新建工程都要重新配置 Maven 解决方案一、选择 File -> New Projects Setup -> Settingsfor New Projects…二、选择 Build,Execution,Deployment -> Build Tools -> Maven IDEA 每次新建工程都要重新配置 Maven 解决方案 DEA 每次新建工程都要…

lv14 ioctl、printk及多个此设备支持 6

1 ioctl操作实现 对相应设备做指定的控制操作&#xff08;各种属性的设置获取等等&#xff09; long xxx_ioctl (struct file *filp, unsigned int cmd, unsigned long arg); 功能&#xff1a;对相应设备做指定的控制操作&#xff08;各种属性的设置获取等等&#xff09; 参数…

关于vite的glob坑

我先展示一段代码&#xff1a; /*** function 根据pages路径动态生成路由* param {Array} 基础路由*/ export default function (routes) {const modules import.meta.glob("../pages/**/page.js", { eager: true, import: "default" });const comps im…

CSS3渐变属性详解

渐变属性 线性渐变 概念&#xff1a;线性渐变&#xff0c;指的是在一条直线上进行的渐变。在线性渐变过程中&#xff0c;起始颜色会沿着一条直线按顺序过渡到结束颜色 语法&#xff1a; background:linear-gradient(渐变角度&#xff0c;开始颜色&#xff0c;结束颜色);渐变…

循环队列的队空队满情况

有题目&#xff1a; 循环队列放在一维数组A[0....M-1]中&#xff0c;end1指向队头元素&#xff0c;end2指向队尾元素的后一个位置。假设队列两端均可进行入队和出队操作&#xff0c;队列中最多能容纳M-1个元素。初始时为空。下列判断队空和队满的条件中&#xff0c;正确的是 …

移动通信原理与关键技术学习(第四代蜂窝移动通信系统)

前言&#xff1a;LTE 标准于2008 年底完成了第一个版本3GPP Release 8的制定工作。另一方面&#xff0c;ITU 于2007 年召开了世界无线电会议WRC07&#xff0c;开始了B3G 频谱的分配&#xff0c;并于2008 年完成了IMT-2000&#xff08;即3G&#xff09;系统的演进——IMT-Advanc…

进程与计划任务管理

目录 一、进程 1.进程相关概念 2.判断线程 3.进程的命令 ps命令 top命令 pstree命令 kill与killall命令 二、计划任务 1.一次性执行任务 2.定时性周期任务 一、进程 1.进程相关概念 程序&#xff1a;保存在硬盘等介质中的可执行的代码。 进程&#xff1a;正在运行…

C++学习笔记(二十四):c++ this

this指针在c中较为常用。this是一个指向当前对象实例的指针&#xff0c;通过this指针&#xff0c;可以访问该类的成员函数。示例如下&#xff1a;this指针主要的使用场景是在类内部调用类外部的函数&#xff0c;该函数传递的参数是调用该函数的类对象&#xff0c;代码示例如下&…

关于整形提升

个人主页&#xff1a;Lei宝啊 愿所有美好如期而遇 什么是整型提升&#xff1f; 在C语言的整型算数运算总是至少以int类型来进行的&#xff0c;当表达式中有char&#xff0c;byte&#xff0c;short类型的操作数时&#xff0c;他们在被使用前需要被转换成int类型&#xff0c;…

归并排序例题——逆序对的数量

做道简单一点的题巩固一下 归并排序实现步骤 将整个区间 [l, r] 划分为 [l, mid] 和 [mid1, r]。 递归排序 [l, mid] 和 [mid1, r]。 将左右两个有序序列合并为一个有序序列。 题目描述 给定一个长度为 n 的整数数列&#xff0c;请计算数列中的逆序对的数量。 逆序对的定义…

linux 02 vmware的快照,文件管理

01.快照 使用快照&#xff1a; 同时的快照管理器&#xff1a; 如果想要返回快照&#xff0c;选择要选择的快照&#xff0c;跳转 02. 文件管理&#xff1a; cd 02.touch 2. mkdir 文件夹 mkdir -p 文件夹 &#xff08;创建之前没有的上级文件夹&#xff09;

HTML5+CSS3小实例:人物介绍卡片2.0

实例:人物介绍卡片2.0 技术栈:HTML+CSS 效果: 源码: 【HTML】 <!DOCTYPE html> <html lang="zh-CN"> <head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><…

【Python学习】Python学习5-条件语句

目录 【Python学习】Python学习5-条件语句 前言if语句if语句判断条件简单的语句组参考 文章所属专区 Python学习 前言 本章节主要说明Python的条件语句&#xff0c;Python条件语句是通过一条或多条语句的执行结果&#xff08;True或者False&#xff09;来决定执行的代码块。 …

支付宝扫码(Easy版)支付实现

文章目录 一 技术准备1.1 二维码技术&#xff08;java&#xff09;1.2 支付宝沙箱环境准备1.3 内网穿透 二 支付宝支付相关知识2.1 各种支付方式2.2 扫码付接入流程2.3 系统交互流程(时序图)2.4 加密逻辑 三 扫码支付实现3.1 添加maven依赖&#xff08;Easy版&#xff09;3.2 完…

SSM农产品朔源管理系统----计算机毕业设计

项目介绍 本项目分为前后台&#xff0c;分为普通用户、管理员、企业用户三种角色&#xff1b; 普通用户无需登录&#xff0c;可在前台直接进行溯源查询&#xff0c;管理员、企业用户可登录后台进行管理&#xff1b; 超级管理员角色包含以下功能&#xff1a; 登录,管理企业,设…

Nacos与Eureka

一、前言 在构建和管理微服务架构时&#xff0c;选择适当的服务注册中心至关重要。Nacos和Eureka都是微服务体系结构中常用的服务注册和发现工具。本文将探讨它们之间的区别&#xff0c;帮助开发者在选择适合其项目需求的注册中心时做出明智的决策。 二、架构和适用场景 Nacos …

重生奇迹MU游戏中勇者大陆

玩重生奇迹MU&#xff0c;我们进入游戏首先会来到勇者大陆。在看到勇者大陆市场&#xff0c;有很多交易的玩家也在这里&#xff0c;在勇者市场里面有商店。接下来介绍主要的NPC 的作用和怪物有那些&#xff1f; 勇者大陆卖药的商店老板莉雅 商店里面会有卖治疗药水&#xff0…

API集群负载统计 - 华为OD统一考试

OD统一考试 分值: 100分 题解: Java / Python / C++ 题目描述 某个产品的RESTful API集合部署在服务器集群的多个节点上,近期对客户端访问日志进行了采集,需要统计各个API的访问频次,根据热点信息在服务器节点之间做负载均衡,现在需要实现热点信息统计查询功能。 RESTf…

Python 操作 JMeter 探索:pymeter 实操指南

概要 JMeter 是一个流行的性能测试工具&#xff0c;用于测试 Web 应用程序的性能和负载。它通常与 GUI 一起使用&#xff0c;但如果您想在自动化测试中集成 JMeter&#xff0c;或者以编程方式创建和运行测试计划&#xff0c;那么 pymeter 库将是一个强大的工具。本文将介绍如何…