JavaSE-基本程序设计结构(上)
JavaSE-基本程序设计结构(上)
- 1. 注释
- 1.1. 单行注释
- 1.1.1. 规则
- 1.2. 多行注释
- 1.2.1. 规则
- 1.3. 文档注释
- 1.3.1 规则
- 1.3.2. 命令行执行(doc窗口)
- 1.3.3. 可视化执行(IDEA)
- 1.3.3.1. 类模板
- 1.3.3.2. 方法模板
- 2. 数据类型
- 2.1. 介绍
- 2.2. 整型
- 2.3. 浮点类型
- 2.4. char类型
- 2.5. boolean类型
- 3. 变量与常亮
- 3.1. 声明变量
- 3.2. 变量初始化
- 3.3. 常量
- 3.4 枚举类型
- 4. 运算符
- 4.1. 算数运算符
- 4.2. 数学函数与常量
- 4.3. 数值类型之间的转换
- 4.4. 强制类型转换
- 4.5. 结合赋值和运算符
- 4.6. 自增与自减运算符
- 4.7. 关系和boolean运算符
- 4.8. 括号与运算符级别
- 5. 字符串
- 5.1. 主要用法
- 5.2. 构建字符串
1. 注释
和大多数程序设计语言一样,写在程序中,方便理解代码,但不会被执行。Java中表示注释的方式有三种
1.1. 单行注释
1.1.1. 规则
格式:
//...
//输出你好的英文
System.out.println("Hello World");
1.2. 多行注释
1.2.1. 规则
格式:
/*
...
*/
/*
输出你好的英文
one line
two line
...
many line
可以写很多行的注释呢!!
*/
System.out.println("Hello World");
1.3. 文档注释
1.3.1 规则
格式:
/**
...
*/
/*** @ClassName Me* @Description TODO* @Author jiaqi* @Date 2021/5/21 17:04* @Version 1.0**/
public class Me {/*** @Author Jiaqi* @Description //TODO * @Date 17:06 2021/5/21* @Param [str]* @return int**/public int inFor(String str){return str.length();}
}
1.3.2. 命令行执行(doc窗口)
文档注释可以在javadoc工具中生成文档,其方法如下:
命令行:
进入到需要生成文档的java文件的路径,执行命令
javadoc -d apidoc *.java
参数解释:javadoc命令支持通配符,例如使用*.java来代表当前路径下的所有java源文件,javadoc常用的选项有如下几个:
-d : 该选项指定一个路径,用于将生成的API文档放到指定的目录下,在这里表示生成一个apidoc文件夹,并在其中生成注释文档。
*.java 表示匹配java文件
1.3.3. 可视化执行(IDEA)
使用命令行去生成文档显然有很多弊端,例如需要再每个类或者方法上重复写各种相同的信息等等 在IDEA中则可以通过配置模板并通过快捷键生成。
1.3.3.1. 类模板
1.idea中打开:File–>settings–>Editor–>File and Code Templates–>Files,选择class文件
2.插入模板
/***@ClassName ${NAME}*@Description TODO*@Author ${USER}*@Date ${DATE} ${TIME}*@Version 1.0**/
其中Name属性必须与下面的类名一样,生成的时候是根据类名去生成的,USER、DATE、TIME则会从你的系统中获取(USER是你电脑对应的用户名)
1.3.3.2. 方法模板
1.idea中打开 File–>Settings–>Editor–>Live Templates
2. 新建group,名字随意,可为myDefine,确认
3. 在这个组下面新建一个live template,名字为*,(注意这里不要取别的名字,方便后面快捷键的使用)
4. 输入方法模板:
** @Author your name* @Description //TODO $end$* @Date $time$ $date$* @Param $param$* @return $return$**/
5. 这时候下方会显示黄色感叹号,点击define,选择EveryWhere–>Java,确定
6. 设置参数Edit variables,输入对应的函数实现。
从这以后,新建的类将会自动生成类模板的文档注释;写好方法后,输入/**+快捷键Enter,就可以生成。
2. 数据类型
2.1. 介绍
Java中总共有8种数据类型,4种整型、2种浮点类型、1种字符类型和1种表示真值的类型。
2.2. 整型
类型 | 存储范围 | 备注 |
---|---|---|
int | 4字节 | 最常用(十六进制前缀为0x)或0X、八进制前缀为0 |
short | 2字节 | |
long | 8字节 | 后缀有L或l |
byte | 1字节 |
2.3. 浮点类型
类型 | 存储范围 | 备注 |
---|---|---|
float | 4字节 | 后缀为f或F |
double | 8字节 | 最常用 |
2.4. char类型
public class Me {public static void main(String[] args) {char a = 'a';char b = '4';System.out.println(a);//'a'的Ascii值为97System.out.println(b);//'4'的Ascii值为52System.out.println(a+b);//97+52System.out.println(a+4);//97+4}
}
2.5. boolean类型
boolean类型有false和true两个值,用来判定逻辑对与错。
注:整型和布尔值不能进行相互转换
3. 变量与常亮
3.1. 声明变量
double d;
int i;
long lo;
boolean b;
int k,d;
变量名必须是一个以字母开头并由数字或字母构成的序列
其中,字母包括大小写字母,美元符和下划线。且Java保留字不能作为变量名
3.2. 变量初始化
int dv = 5;
或
int dv;
dv = 5;
3.3. 常量
public static final double TU_AE_HY = 2.34;
3.4 枚举类型
有时候,我们对一个变量所需要的值是有限的,则这个时候我们就需要用到枚举类。
enum Sub{CHINESE,ENGLISH,MATH}
Sub s = Sub.MATH;
4. 运算符
4.1. 算数运算符
+ - * / % 分别表示加减乘除和求余(取模)
注:除法运算参与运算的两个数都为整数时,表示整数除法,否则表示浮点数除法。整型除以0会报错,浮点数除以0则会表示无穷。
System.out.println(24/5);//结果为4
System.out.println(11%4);//结果为3
4.2. 数学函数与常量
Java中包含了一个Math类,其中包含了各种各样的数学函数。
public class Me {public static void main(String[] args) {//求23.4的sin值Math.sin(23.4);Math.cos(22.3);Math.tan(12.6);//计算3.4的atan值Math.atan(3.4);Math.atan2(2.3,4.3);Math.exp(3);Math.log10(3);System.out.println(Math.PI);System.out.println(Math.E);Math.sqrt(3);Math.pow(3,2);}
}
4.3. 数值类型之间的转换
上图实线表示转换后不会导致信息丢失,虚线表示转换会有一定精度的损失。
int n = 123456;
float f = n;//int类型转换为float,结果为1.23456;
4.4. 强制类型转换
由上面图我们可以看到,只有int转为double,而double转为int没有显示箭头,这个时候则需要强制类型转换。如下
double x = 3.45
int i = (int)x;//i = 3
4.5. 结合赋值和运算符
x=x+4;
x+=4;
以上两行代码的效果是一样的,都是先将x加4然后再赋值给x。同理,也有x-=4;x*=4;
等等
4.6. 自增与自减运算符
n++;
++n;
以上两个语句都是表示对n加1,但遇到赋值语句时,第一句表示先赋值再自增;第二句语句表示先自增再赋值;
int m = 7;
int n = 7;
int a = 2 * ++m;// a = 16,m = 8
int b = 2 * n++;// b = 14,n = 8
4.7. 关系和boolean运算符
== != < > >= <= && ||
分别表示等于 不等于 小于 大于 大于或等于 小于或等于 和 或
三元操作符:
语法:条件 ? 值1:值2
如果表达式为true,表达式的值为值1;否则为值2。
4.8. 括号与运算符级别
5. 字符串
5.1. 主要用法
public class Me {public static void main(String[] args) {//定义一个字符串String n = "hi";System.out.println(n);//定义一个空字符串String n1 = "";System.out.println(n1);//获取一个子串(substring第一个参数表示索引为0,// 二个参数表示不想复制的第一个位置)String father = "father";String substring = father.substring(0, 3);System.out.println(substring);//拼接字符串String a1 = "i am ";String a2 = "a student";System.out.println(a1+a2);//判断字符串是否相等String you = "you";String me = "me";System.out.println(you.equals(me));//不区分大小写的判断字符串是否相等String you1 = "you";String you2 = "YoU";System.out.println(you1.equals(you2));//千万不可以用==判断两个字符串是否相等//判断是否为空串String a ="";System.out.println(a.equals(""));System.out.println(a.length()==0);//判断是否为nullString kk= null;System.out.println(kk ==null);//判断一个字符串既不是空串也不是nullString dd = "dd";System.out.println(dd.length()!=0 && dd!=null);//获取字符串的长度、获取它的指定字符String ff = "abc";System.out.println(ff.length());System.out.println(ff.charAt(2));//替换字符串,用uu代替字符串re中的所有ttString re = "guottdd";System.out.println(re.replace("tt","uu"));}
}
运行结果
5.2. 构建字符串
我们都知道String是不可改变的,每一次的“改变”实际上是重新创建字符串并赋值而已,这是一个优点,但在有些场合确实不太合适。例如在读取文件的时候,如果用String存储,每次读取的内容都必须“拼接”到旧字符串的后面,这实际上是重新创建了一个新的字符串,效率很低。又浪费空间。所以我们在这种场合,我们使用StringBuilder类。
public class Me {public static void main(String[] args) {StringBuilder sb = new StringBuilder();sb.append("hello");sb.append("mybaby");System.out.println(sb.toString());//求sb长度System.out.println(sb.length());//将指定位置设置指定的值sb.setCharAt(2,'y');System.out.println(sb);//在指定位置插入一个字符串或一个字符sb.insert(3,"uu");System.out.println(sb);sb.insert(6,'r');System.out.println(sb);//删除指定范围的值sb.delete(4,7);System.out.println(sb);}
}
运行结果
JavaSE-基本程序设计结构(上)相关推荐
- CoreJava 笔记总结-第三章 Java的基本程序设计结构
CoreJava 笔记总结 文章目录 CoreJava 笔记总结 第三章 Java的基本程序设计结构 数据类型 1. 整型 2. 浮点类型 3. char类型 4. boolean类型 变量与常量 1 ...
- 【西行 - 官封弼马温】Java 基本程序设计结构
J3 - 白起 Java(Java基础 # 程序设计结构 # 笔记) 1.Hello World 下面是一个简单的 Java 应用程序,它会在程序控制台中打印一句话 "Hello World ...
- 第2章(Java 的基本程序设计结构)
第2章(Java 的基本程序设计结构) 文章目录 第2章(Java 的基本程序设计结构) 2.1一个简单的 Java 应用程序 2.2注 释 2.3数据类型 2.3.1整型 2.3.2浮点型 2.3. ...
- C语言基础知识(三)-程序设计结构、数组、字符串处理函数
本文是C语言的基础知识,主要讲解三种程序设计结构.数组.字符串和字符数组.数组元素查询以及字符串处理函数. 程序结构设计 包括C语言在内的几乎任何编程语言都支持以下三种程序设计结构,它们分别是: 顺序 ...
- 《Java程序设计》实验报告——Java的基本程序设计结构
浙江理工大学 <Java程序设计> 实验报告 20 19-20 20学年第 1学期 学 院 信息学院 班 级 计算机科学技术18(3) 姓 名 申屠志刚 学 号 20 ...
- JAVA实验——Java的基本程序设计结构
实验一 Java的基本程序设计结构 实验目的 熟悉Java开发环境,建立Java工程,练习编程,会使用变量,字符串,数组,输入与输出等API. 实验内容 利用eclipse建立Java工程 必做题 ...
- 邻接表1试在邻接表存储结构上实现图的基本操作 insert_vertex 和 insert_arc,相关定义如下:icoding---算法改进--配详细注释
邻接表1 试在邻接表存储结构上实现图的基本操作 insert_vertex 和 insert_arc,相关定义如下: typedef int VertexType; typedef enum{DG, ...
- 邻接表2 -试在邻接表存储结构上实现图的基本操作 del_vertex-数据结构-图-icoding
邻接表2 试在邻接表存储结构上实现图的基本操作 del_vertex,相关定义如下: typedef int VertexType;typedef enum{DG, UDG }GraphType;ty ...
- 邻接表1 - 试在邻接表存储结构上实现图的基本操作 insert_vertex 和 insert_arc-数据结构-图-icoding
邻接表1 试在邻接表存储结构上实现图的基本操作 insert_vertex 和 insert_arc,相关定义如下: typedef int VertexType;typedef enum{DG, U ...
最新文章
- NVME CLI -- nvme 命令查看NVME设备内部状态
- Gdiplus中实现双Buffer绘图
- dos下的edit命令使用详解
- Python学习之共享引用
- Java黑皮书课后题第6章:**6.34(打印日历)编程练习题3.21使用Zeller一致性原理来计算某天是星期几,使用Zeller的算法简化程序清单6-12以获得每月开始的第一天是星期几
- openresty+mysql+乱码_openresty记录响应body乱码问题
- 单元测试 jest 从零开始搭建简易的单元测试
- Sping AOP概述
- JeeWx捷微管家系统
- Linux查看网卡是千兆还是万兆网卡
- 华为hcip认证考试内容是什么?hcip认证有哪些方向
- cmd批处理的/d/l/r/f
- S32K144之时钟配置及时钟查看
- Ubuntu 再次拥抱 Wayland
- 无人洗车小程序源码开发
- 刚开始创建maven工程时会出现plugins爆红的问题
- 开机后电脑只剩计算机和回收站,电脑开机后C盘拒绝访问,图标只剩下此电脑和回收站是怎么回事?...
- P3400 仓鼠窝 (单调栈 dp O(n*m
- DSP与FPGA的技术特点和区别是什么?
- 使用GPIB总线接收数据