Java(30天拿下---第一天)

news2024/11/24 5:37:30

Java开发(30天拿下---第一天)

  • 一 hello world以及JDK,JRE,JVM
  • 二 转义字符
  • 三 注释
  • 四 代码规范
  • 五 DOS命令(了解)
  • 六 变量
    • 1.加号的使用
    • 2.数据类型
      • 整型
      • 浮点型
      • 字符类型
      • 布尔类型
      • 自动类型转换
      • 强制类型转换
      • String类型
  • 七 API文档

在这里插入图片描述

一 hello world以及JDK,JRE,JVM

public class Hello{
	public static void main(String[ ] args){
		System.out.println("Hello,World");
	}
}

解释:

  • public class Hello—>创建一个Hello的类,是一个public公开的类
  • public static void main(String[ ] args)表示一个主方法,即程序的入口
  • System.out.println(“Hello,World”)即输出语句

JDK=JRE+开发工具集(例如:javac,java编译工具等)
JRE=JVM+Java SE标准库(java核心类库)

二 转义字符

字符含义
\t一个制表位,实现对齐功能
\n换行符
|一个\
"一个"
一个’
\r一个回车 System.out.println(从该行头覆盖文字)

练习:
在这里插入图片描述
代码:

public class study {
    public static void main(String[] args){
        System.out.println("书名\t作者\t价格\t销量\n三国\t罗贯中\t120\t1000");
    }
}

三 注释

  • 单行注释
    基本格式
// 单行注释
  • 多行注释(不允许嵌套多行注释)
    基本格式
/* 多行注释 */
  • 文档注释
    解释:注释内容可以被JDK提供的工具javadoc所解析,生成一套以网页文件形式体现的该程序的说明文档,一般写在类
/**
 * @author 汴京城下君
 * @version 1.0
 */
public class study {
    public static void main(String[] args){
        System.out.println("文档注释");
    }
}

在这里插入图片描述之后该D盘temp文件夹里生成其对应的文件
在这里插入图片描述

四 代码规范

  • 类和方法的注释,要以javadoc的方式书写
  • 非javadoc的注释,往往是给代码维护者看的,着重告诉读者为什么这样写,如何修改,注意什么问题等
  • 使用Tab操作,实现缩进,默认整体向右移动,或者用shift+tab整体向左移动
  • 运算符和=两边习惯性加上一个空格。比如:2 + 4 * 5 +345 -89
  • 源文件使用utf-8编码
  • 行宽度不要超过80个字符
  • 代码编写次行风格尾行风格

次行风格

public class study 
{
    public static void main(String[] args)
    {
    	
    }
}

尾行风格

public class study {
    public static void main(String[] args){
    }
}

五 DOS命令(了解)

介绍:
Dos:Disk Operating System 磁盘操作系统

相对路径:
当前目录开始定位,形成一个路径
绝对路径:
顶级目录开始定位,形成一个路径

原理:
在这里插入图片描述常见的Dos命令:

  • 查看当前目录有什么
    dir
    dir d:\abc2\test200
  • 切换到其他盘下:盘符 cd(change directory)
    切换到C盘,cd/D c:
  • 切换到当前盘的其他目录下
    cd d:\abc2\test200 cd…\abc2\test200
  • 切换到上一级
    cd…
  • 切换到根目录
    cd\
  • 查看指定目录下的所有子级目录
    tree d:\abc2
  • 清屏
    cls
  • 退出DOS
    exit

六 变量

变量的注意事项

  • 变量表示内存中的一个存储区域(不同的变量,类型不同,占用的空间大小不同)
  • 该区域有自己的名称【变量名】和类型【数据类型】
  • 变量必须先声明后使用,即有顺序
  • 该区域的数据可以在同一类型范围内不断变化
  • 变量在同一区域内不能重名
  • 变量=变量名+值+数据类型(变量三要素)

1.加号的使用

  • 左右两边都是数值类型时,做加法运算
  • 左右两边有一方是字符串,则做拼接运算
public class study {
    public static void main(String[] args){
        System.out.println(100+3+"90");
        System.out.println("hello"+3+100);
    }
}

输出:

10390
hello3100

2.数据类型

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

整型

在这里插入图片描述

小细节:

  • Java各整数类型有固定的范围和字段长度,不受具体OS(操作系统)的影响,以保证Java程序的可移植性
  • Java的整型默认为int型,声明long型常量必须后加“l”或“L”
  • Java程序中变量声明为int型,除非不足以表示大数,才用long
  • bit:计算机中的最小存储单位。
  • byte:计算机中基本存储单元。1byte=8bit

浮点型

Java的浮点型可以表示一个小数,比如1.2等等

在这里插入图片描述

小细节:

  • 与整数类型相似,Java浮点型也有固定的范围和字段长度,不受具体OS的影响
  • Java的浮点型默认为double型,声明float型常量,须后加“f”或“F”
  • 浮点型常量有两种表达形式
    十进制:如:5.12,512.0f,0.512,.123(必须有小数点
    科学计数法:5.12e2[5.12*10的2次方],5.12E-2[5.12/10的2次方]
  • 通常情况下,应该使用double型,因为它比float型更精确
  • 陷阱:2.7和8.1/3的比较

8.1/3=2.69999999997
一个接近2.7的小数

如果需要去比较,正确代码如下

public class study {
    public static void main(String[] args){
        double a = 2.7;
        double b = 8.1/3;
        if(Math.abs(a - b) < 0.00001) {
            System.out.println("可以认为a和b相等");
        }
    }
}

输出:

可以认为a和b相等

字符类型

字符类型可以表示单个的字符,字符类型为char,char是两个字节(可以存放汉字)
多个字符我们用String(后面会详细讲解String)

代码举例:

public class study {
    public static void main(String[] args){
        char a1 = 'a';
        char a2 = '\t';
        char a3 = '汴';
        char a4 = 97;  //ASCII码值
        System.out.println(a1); // a
        System.out.println(a2); //
        System.out.println(a3); // 汴
        System.out.println(a4); //a
    }
}

小细节:

  • 字符常量用(’ ')括起来的单引号,例如:char c1 = ‘a’;双引号的为字符串
  • Java中还允许使用转义字符
  • 在Java中,char的本质是一个整数,在输出时,是unicode码对应的字符
  • 可以直接给char赋一个整数,然后输出时,会按照对应的unicode字符输出
  • char类型可以进行运算,相当于一个整数,因为它都有对应的unicode码
    ‘a’+10----->107

unicode编码转换工具网址

字符类型的本质

  • 字符类型存储到计算机中,需要将字符对应的ASCII码值找出来,比如’a’:
    存储:‘a’–>码值97—>二进制—>存储
    读取:二进制---->97—>‘a’–>显示
  • 字符和ASCII码值的对应关系是字符编码表规定好的
编码格式含义
ASCII一个字节表示,一个是128字符。实际上一个字节可以表示256个字符,只用了128个
Unicode固定大小的编码,使用两个字节来表示字符,字母和汉字统一是占用两个字节,有点浪费空间
utf-8大小可变的编码,字符用1个字节,汉字用3个字节
GBK可以表示汉字,而且范围广,字母用1个字节,汉字用2个字节
GB2312可以表示汉字,GB2312<GBK
BIG5繁体中文(台湾,香港)

ASCII码

上个世纪90年代,美国指定了一套字符编码(使用一个字节),对英文字符与二进制的关系,做了统一的规定,这被称为ASCII码。ASCII码规定了128个字符的编码只占用了一个字节的后面七位,最前面的一位规定为0。
缺点:
不能表示所有字符

Unicode编码

好处:
一种编码,将世界上所有字符都纳入其中,每个字符都授予独一无二的编码,使用Unicode没有乱码的问题
缺点:
一个英文字母和中文汉字都占2个字符,有点浪费存储空间

2的16次方是65536,所以最多编码是65536个字符
编码0~127的字符都是与ASCII码一样

utf-8

可以理解为Unicode的一个改进版
是互联网中使用最广的一种Unicode的实现方式
utf-8是一种变长的编码方式,它可以用1~6个字节表示一个符号,根据不同的符号而变化字节长度
大小可变的编码,字母占1个字节,汉字占3个字节

布尔类型

基本介绍:

  • 布尔类型也叫boolean类型,只允许取值true或者false,无NULL
  • 该类型占1个字符
  • 适用于逻辑运算,一般用于程序流程控制
    if-else
    while
    do-while
    for循环
    不可用0或者非0来代替true和false(和C语言…区别)

自动类型转换

在这里插入图片描述自动类型转换注意和细节

  • 有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那种数据类型,然后再计算
  • 当我们把精度(容量)大的数据赋值给精度(容量)小的数据类型时,就会报错,反之就会自动类型转换
  • (byte,short)和char之间不会相互自动转换
  • byte,short,char他们三者可以计算,在计算时首先会把精度提升到int型
  • boolean不参与转换
  • 自动提升原则:表达式结果的类型自动提升为操作数中最大的类型

强制类型转换

介绍:
自动类型转换的逆过程,将容量大的数据类型转换为容量小的数据类型,使用时要加上强制类型转换符(),但是可能会导致精度降低或者溢出,格外要注意

public class study {
    public static void main(String[] args){
        int i = (int)1.9;
        System.out.println("i="+i);// 1  造成精度损失

        int n = 2000;
        byte b = (byte)n;
        System.out.println("b="+b);// -48  造成数据溢出
    }
}

小细节:

  • 当进行数据的大小,从大–>小,就需要使用强制转换
  • 强转符号只针对与最近的操作数有效,往往会使用小括号提高优先级
        //int y = (int)10*3.5+6.1*7;
        int y = (int)(10*3.5+6.1*7);
        System.out.println(y);
  • char类型可以保存int的常量值,但不能保存int值,需要强制转换
        char c1 = 100;
        int m = 100;
        //char c2 = m; 报错
        char c3 = (char)m;
        System.out.println(c3);//输出100对应的字符
  • byte和short类型在进行运算时,当做int类型处理

String类型

  • 基本数据类型转为String类型
    基本数据类型+" "
         int i = 10;
        String n = i + "";
  • String类型转为基本数据类型
    通过基本数据类型的包装类调用parseXX方法(面向对象的时候详细介绍
        String a = "123";

        int num1 = Integer.parseInt(a);
        double num2 = Double.parseDouble(a);
        short num3 = Short.parseShort(a);
        long num4 = Long.parseLong(a);
        float num5 = Float.parseFloat(a);
        byte num6 = Byte.parseByte(a);
        boolean b = Boolean.parseBoolean("true");

七 API文档

API是Java提供的基本编程接口(Java提供的类还有相关的方法)
中文在线文档

Java语言提供了大量的基础类,因此Oracle公司也为这些基础类提供了相应的API文档,用于告诉开发者如何使用这些类,以及这些类包含的方法

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

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

相关文章

React | Redux的使用详解

✨ 个人主页&#xff1a;CoderHing &#x1f5a5;️ React.js专栏&#xff1a;React.js Redux的使用详解 &#x1f64b;‍♂️ 个人简介&#xff1a;一个不甘平庸的平凡人&#x1f36c; &#x1f4ab; 系列专栏&#xff1a;吊打面试官系列 16天学会Vue 7天学会微信小程序 N…

亚马逊云科技Serverless数据分析,助力猎豹移动构建更高性价比数据仓库

也许你也听过这样一句话&#xff1a;“21世纪什么最贵&#xff1f;人才&#xff01;”当数字经济全面席卷而来&#xff0c;这个问题的答案不可置否地变为了“数据”。通过数据分析获取近乎实时的洞察&#xff0c;以驱动业务的全流程&#xff0c;是企业数字化转型的必经之路。借…

【文末送书】微服务拆分规范

目录 一. &#x1f981; 什么是微服务&#xff1f;二. &#x1f981; 拆分模型Ⅰ. 压力模型拆分1. 垂直拆分&#xff08;Vertical Decomposition&#xff09;2. 水平拆分&#xff08;Horizontal Decomposition&#xff09;3. 动态拆分&#xff08;Dynamic Decomposition&#x…

初识网络之http协议

目录 一、http协议含义 二、 认识URL 三、urlencode与urldecode 1. urlencode 2. urldecode 四、http协议响应与请求格式 1. http协议请求格式 2.http协议响应格式 3. http请求实际形式 3.1 程序准备 3.2 浏览器发起请求 3.3 请求行内容 3.4 请求报头内容 4. htt…

2022年国赛高教杯数学建模E题小批量物料的生产安排解题全过程文档及程序

2022年国赛高教杯数学建模 E题 小批量物料的生产安排 原题再现 某电子产品制造企业面临以下问题&#xff1a;在多品种小批量的物料生产中&#xff0c;事先无法知道物料的实际需求量。企业希望运用数学方法&#xff0c;分析已有的历史数据&#xff0c;建立数学模型&#xff0c…

mysql联合索引详解

比较简单的是单列索引&#xff08;btree&#xff09;。遇到多条件查询时&#xff0c;不可避免会使用到多列索引。联合索引又叫复合索引。 btree结构如下&#xff1a; 每一个磁盘块在mysql中是一个页&#xff0c;页大小是固定的&#xff0c;mysql innodb的默认的页大小是16k&a…

【工作中遇到的性能优化问题】

项目场景&#xff1a; 页面左侧有一列表数据&#xff0c;点击列表项会查对应的表格数据和表单信息&#xff08;表单是根据数据配置生成的&#xff09;&#xff0c;并在右侧展示。如果数据量大&#xff0c;则非常卡。 需要对此页面进行优化。 问题描述 问题一、加载左侧数据时…

systemV的工作原理+原理代码

概念 我们知道进程间的通信有管道的方式进程通信管道制作_云的小站的博客-CSDN博客 但是我们的管道通信其实属于一种取巧的方式&#xff0c;利用了打开的文件可读写的特性上&#xff0c;两个进程对此分别进行读写操作就会产生所谓的通信现象&#xff0c;但是外面的管道依旧得…

【社区图书】快速入门go程序开发——《Go程序开发实战宝典》书评

《Go程序开发实战宝典》书评 一、介绍二、简要概述三、内容分析3.1、第一部分&#xff1a;Go语言基础知识3.2、第二部分&#xff1a;介绍服务端开发经常需要处理的问题3.3、第三部分&#xff1a;Go语言开发实践实战案例 四、我的看法和评价4.1、对本书整体评价4.2、我对这本书的…

Office Visio 2021安装

哈喽&#xff0c;大家好。今天一起学习的是Visio 2021的安装&#xff0c;这是一个绘制流程图的软件&#xff0c;用有效的绘图表达信息&#xff0c;比任何文字都更加形象和直观。Office Visio 是office软件系列中负责绘制流程图和示意图的软件&#xff0c;便于IT和商务人员就复杂…

Vue.js 中的插槽和动态组件

Vue.js 中的插槽和动态组件 Vue.js 是一款流行的 JavaScript 框架&#xff0c;它提供了一种简单而灵活的方式来构建交互式 Web 应用程序。在 Vue.js 中&#xff0c;插槽和动态组件是两个常用的概念。它们可以帮助开发者更方便地组织和管理组件的结构和行为。但是这两个概念有什…

(opencv)图像几何变换——平移

图像的平移操作是将图像的所有像素坐标进行水平或垂直方向移动&#xff0c;也就是将所有像素点按照给定的偏移量在水平方向沿x轴、垂直方向上沿y轴移动。平移变换分为两种类型&#xff1a;图像大小变化与图像大小不变。第一种类型保证图像平移的完整信息&#xff0c;第二种图像…

Vue.js 中的 $refs 和 $emit 有什么关系?

Vue.js 中的 $refs 和 $emit 有什么关系&#xff1f; 在 Vue.js 中&#xff0c;$refs 和 $emit 都是非常常用的 API。$refs 用于访问组件、元素和子组件等&#xff0c;而 $emit 则用于在组件之间进行通信。本文将会从语法、使用方式、适用场景等方面进行介绍&#xff0c;并探讨…

接招吧! selenium环境+元素定位大法

selenium 与 webdriver Selenium 是一个用于 Web 测试的工具&#xff0c;测试运行在浏览器中&#xff0c;就像真正的用户在手工操作一样。支持所有主流浏览器 WebDriver 就是对浏览器提供的原生API进行封装&#xff0c;使其成为一套更加面向对象的Selenium WebDriver API。 …

【数据结构与算法分析】使用C语言实现队列的两种(带头结点与不带头结点)链式存储,并且给出一种循环队列的设计思想

文章目录 前言队列实现带头结点单向队列不带头结点单向队列循环队列 总结 前言 当我们编写程序时&#xff0c;经常需要处理各种数据结构。队列是一种常见的数据结构&#xff0c;它有着广泛的应用场景。队列的基本操作包括入队和出队&#xff0c;应用于模拟等待队列、消息队列、…

LVS-DR集群

LVS-DR集群 一.LVS-DR工作原理 1.数据包流向 数据包流向分析&#xff1a; &#xff08;1&#xff09;客户端发送请求到 Director Server&#xff08;负载均衡器&#xff09;&#xff0c;请求的数据报文&#xff08;源 IP 是 CIP,目标 IP 是 VIP&#xff09;到达内核空间。 &…

Flowable工作流入门完整SpringBoot案例

文章目录 一 、Flowable 的出现是为了什么二、Flowable 的优势三、常见的Java类/实例3.1 ProcessEngine3.2 RepositoryService3.3 ProcessDefinition3.4 Deployment3.5 RuntimeService3.6 ProcessInstance3.7 TaskService3.8 JavaDelegate3.9 其他 四、核心数据库表4.1 数据库4…

CET4写译学习

学习记录笔记&#xff1a; 05.四级写译技巧(上)_哔哩哔哩_bilibili 不会的东西不要往上写。寻找可以替换的词。 保证写的所有内容都是正确的。 切题&#xff0c;论证清楚。 要有自己的观点&#xff0c;然后去论证。 词汇&#xff0c;语法&#xff0c;句子结构都整好。 文…

【软件测试】接口测试工具APIpost

说实话&#xff0c;了解APIpost是因为&#xff0c;我的所有接口相关的文章下&#xff0c;都有该APIpost水军的评论&#xff0c;无非就是APIpost是中文版的postman&#xff0c;有多么多么好用&#xff0c;虽然咱也还不是什么啥网红&#xff0c;但是不知会一声就乱在评论区打广告…

Linux日志

rsyslog系统日志管理 哪类程序产生的什么日志放到什么地方 处理日志的进程 第一类&#xff1a; rsyslogd&#xff1a;系统专职日志程序&#xff0c;处理绝大部分日志记录&#xff0c;系统操作相关的信息&#xff0c;如登录信息&#xff0c;程序启动关闭相关信息&#xff0c…