包机制

如果文件在包中需要 在文件首行添加 package 地址

package pkg1.pkg2.pkg3

import package1

JavaDoc

    /**
* @author作者名
* @version版本号
* @since指明需要最早使用的jdk版本
* @param参数名
* @return返回值情况
* @throws异常抛出情况
*/

cmd生成doc文档:

javadoc -protected -splitindex -use -author -version -encoding UTF-8 -charset UTF-8 -d G:\Desktop\JavaSE\JavaDoc @C:\Users\Administrator\AppData\Local\Temp\javadoc_args

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tMV1f5Ds-1659764530952)(assets/image-20220611095847-nt0f6i4.png)]

Scanner

public class Demo01 {
public static void main(String[] args){
Scanner scanner = new Scanner(System.in); // nextLine 以回车键为结束字符
String str = scanner.nextLine();
System.out.println("输出的内容为:"+str); //next 以空格为结束字符
String str2 = scanner.next();
System.out.println("输出的内容为:"+str2); //凡是属于IO流的类如果不关闭会一直占用资源,要养成良好的习惯用完就关掉。
scanner.close();
}
}

循环结构

IF

public class Demo03 {
public static void main(String[] args){
Scanner scanner = new Scanner(System.in); int s = scanner.nextInt();
if (s==100){
System.out.println(s);
}else if (s<100&&s>=80){
System.out.println(s+"1");
}else if (s>=0){
System.out.println("aaaa");
}else {
System.out.println("结束");
}
scanner.close();
}
}

switch case

如果case里面没有写break进行跳出,则会发生case穿透。

一下结果为:及格、不及格、级别未知。因为没有在case后加入break

public class Demo04 {
public static void main(String[] args){
char result = 'c';
switch (result){
case 'a':
System.out.println("优秀");
case 'b':
System.out.println("良好");
case 'c':
System.out.println("及格");
case 'd':
System.out.println("不及格");
default:
System.out.println("级别未知");
} }
}

while

只要条件符合就一直执行

while(条件){
执行语句
}

do while

与while的区别在先执行后判断。

For

是运行最高效的循环结构

public class Demo01 {
public static void main(String[] args) {
for (int i = 1; i <= 9; i++) {
for (int j = 1;j<=i;j++){
System.out.print("i"+"*"+"j"+i*j+"\t");
}
System.out.println();
}
}
}

增强for循环

主要在遍历数组和集合的时候用,jdk5以后才有。

public class ForDemo02 {
public static void main(String[] args){
int[] numbers = {10,20,30,40,50};
for(int x:numbers){
System.out.println(x);
}
}
}

break continue

break在任何循环语句的主体,均可用break控制循环流程,其作用是强行退出循环,不执行循环中剩余的语句。

continue 语句在循环语句中使用,用于终止某次循环过程,即跳过循环体中未执行的语句,接着进行下一次是否执行循环的判断。

goto

打印三角形

public class SanJiao {
public static void main(String[] args){
int num =10;
for(int i =1;i<=num;i++){
for (int j=0;j<=50;j++){
System.out.print(" ");
}
for (int j=num;j>i;j--){
System.out.print(" ");
}
for(int j=1;j<=i;j++){
System.out.print("*");
}
for(int j=1;j<i;j++){
System.out.print("*");
}
System.out.println(); }
}
}

方法(一般面向对象叫方法,面向过程叫函数)

public static void main

其中 void 是指该方法不返回值,在自定义的方法中可以是任何数据类型 static 是修饰类的表示静态

public class Demo1 {
public static void main(String[] args){
System.out.println(add(3, 5));
}
public static int add(int a,int b){
return a+b;
}
}

return不仅可以用来返回值,也可以用来终止方法运行。

方法重载

就是相同的方法名,参数不同

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gm4Zu3ZL-1659764530953)(assets/image-20220617154437-yt3qzd9.png)]

命令行传参

可以在命令的时候直接传递参数,在接受参数的时候和scanner的text一样遇到空格后即变为下一个参数

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7nip11AG-1659764530954)(assets/image-20220617155551-tpyv0ri.png)]

可变参数(不定向参数)

方法声明中,在指定参数类型后加一个省略号(…)

public class Demo03 {
public static void main(String[] args){
Demo03 demo03 = new Demo03();
demo03.test(1,2,3);
}
public void test(int... i){
for (int j =0; j<i.length;j++){
System.out.println(i[j]);
}
}
}

递归

通俗点讲就是自己调用自己。但是程序必须有结束的点,不能是死循环。但是Java是栈结构,所以递归层次过多的话效率会低,并且可能内存溢出。

数组

数组按照存入的先后次序进行排列,数组中所有元素类型必须相同。不赋值就是默认值。数组创建必须分配大小,并且一旦创建不可更改

public class ArraryDemo01 {
public static void main(String[] args){
int[] nums; //声明一个数组
nums = new int[10]; //创建一个数组,规定大小为10.
//也可以这么表示int[] nums = new int[10];
nums[0] = 1;//为第一个元素赋值为1,默认为0,不赋值就是0.
for (int i = 0; i <nums.length ; i++) {
System.out.println(nums[i]);
}
}
}

数组初始化

public class ArraryDemo01 {
public static void main(String[] args){
int[] nums1 = {1,2,3,4,5,6};//静态初始化
int[] nums2 = new int[10];//动态初始化
}
}

数组的基本特点

  • 长度确定,一旦创建大小不可改变。
  • 元素类型必须相同,不允许出现混合类型。
  • 数组中元素可以是任何数据类型,包括基本类型和引用类型。
  • 数组的变量属于引用类型,数组也可以看成是一个对象。

案例(数组反转)

public class ArrayDemo02 {
public static void main(String[] args){
int[] ar = {1,2,3,4,5};
pringArray(reversalArray(ar)); } public static int[] reversalArray(int[] array){
int[] result = new int[array.length];
for (int i = 0,j=array.length-1; i < array.length ; i++,j--) {
result[i] = array[j];
}
return result;
} public static void pringArray(int[] array){
for (int x:array){
System.out.print(x+"\t");
}
}
}

二维数组

打印

public class ArrayDemo03 {
public static void main(String[] args){
int[][] arr = new int[10][4];
for (int i = 0; i <arr.length ; i++) {
for (int j = 0; j <arr[i].length ; j++) {
System.out.print(arr[i][j]+"\t");
} }
}
}

Arrays类

public class ArrayGj {
public static void main(String[] args){
int[] array = {1,2,3,4,5,345,6756,456,234,2311};
System.out.println(Arrays.toString(array));
Arrays.sort(array);
System.out.println(Arrays.toString(array)); }
}

稀疏数组

public class Demo04 {
public static void main(String[] args){
//创建一个二维数组
int[][] array1 = new int[5][5];
array1[0][2] = 1;
array1[1][3] = 2;
//打印原始数组
blArray(array1);
System.out.println("===================");
System.out.println("打印稀疏数组");
int[][] array2 = sparseArray(array1);
blArray(array2);
System.out.println("===================");
System.out.println("还原稀疏数组");
blArray(restoreAyyay(array2)); } //打印二维数组
public static void blArray(int[][] array){
for (int[] ints : array) {
for (int anInt : ints) {
System.out.print(anInt+"\t");
}
System.out.println();
}
} //稀疏数组转换
public static int[][] sparseArray(int[][] array){
int num = 0;
for (int i = 0; i < array.length ; i++) {
for (int j = 0; j <array[i].length ; j++) {
if (array[i][j] != 0){
num++;
}
}
}
//创建稀疏数组
int[][] array_s = new int[num+1][3];
//定义稀疏数组的第一行
array_s[0][0] = array.length;
array_s[0][1] = array[0].length;
array_s[0][2] = num; //为稀疏数组填充内容
int line = 1;
for (int i = 0; i < array.length ; i++) {
for (int j = 0; j <array[i].length ; j++) {
if (array[i][j] != 0){
array_s[line][0] = i;
array_s[line][1] = j;
array_s[line][2] = array[i][j];
line++;
}
}
} return array_s;
} public static int[][] restoreAyyay(int[][] array){
int[][] array_r = new int[array[0][0]][array[0][1]];
for (int i = 1; i < array.length ; i++) {
for (int j = 0; j <array[i].length ; j++) {
array_r[array[i][0]][array[i][1]] = array[i][2];
}
}
return array_r;
} }

JavaSE开发基础--包机制&JavaDoc&Scanner&循环结构&方法&数组的更多相关文章

  1. Java05-Java基础语法(四)循环结构

    Java05-Java基础语法(四)循环结构 循环结构(重复/迭代):根据条件重复执行部分语句 1.while循环结构 while(条件表达式){ 循环体语句; } 1)语法:a.while是关键字 ...

  2. Java基础之包机制+JavaDoc

    包机制 为了更好地组织类,Java提供了包机制,用于区别类名的命名空间.[包的本质就是文件夹] 包语句的语法格式为: package pkg1[. pkg2[. pkg3...]]; 一般利用公司域名 ...

  3. Java学习 (九)基础篇 包机制&JavaDoc

    包机制 为了更好地组织类,Java提供了包机制,用于区别类名的命名空间 包语句的语法为: package pkg[.pkg2[.pkg3...]]; 一般利用公司域名倒置作为包名:com.feng.x ...

  4. JAVA基础——包机制

    包机制 包的语法格式package pkg1[.pkg2[.pkg3...]] 一般利用 公司域名倒置 作为包名; 例如www.baidu.com,则建立报的名字com.baidu.www 一般不要让 ...

  5. JavaSE基础(八)--Java 循环结构

    Java 循环结构 - for, while 及 do...while 顺序结构的程序语句只能被执行一次.如果您想要同样的操作执行多次,,就需要使用循环结构. Java中有三种主要的循环结构: whi ...

  6. 刘强1109 JavaScript基础二(分支与循环结构)

    [if-else结构] 1.结构的写法: if(判断条件){ 条件为true时,执行if{} } else{ 条件为false时,执行else{} } 2.注意事项: ① else{}语句块,可以根据 ...

  7. Python基础-python流程控制之循环结构(五)

    循环结构 循环结构可以减少源程序重复书写的代码量,用来描述重复执行某段算法的问题. Python中循环结构分为两类,分别是 while 和 for .. in. 一.while循环 格式1: whil ...

  8. java 基础 04 循环结构 一维数组

    内容: (1)循环结构 (2)一维数组 1.循环结构 1.1for循环 (1)语法格式 for(初始化表达式1;条件表达式2;修改初始化表达式3){ 循环体; } (2)执行流程 执行初始化表达式 = ...

  9. Shell基础(三):使用for循环结构、使用while循环结构、基于case分支编写脚本、使用Shell函数、中断及退出

    一.使用for循环结构 目标: 本案例要求编写一个Shell脚本chkhosts.sh,利用for循环来检测多个主机的存活状态,相关要求及说明如下: 1> 对192.168.4.0/24网段执行 ...

  10. 浅析PHP中for与foreach两个循环结构遍历数组的区别

    遍历一个数组是编程中最常见不过的了,这里跟大家讨论下for和foreach两种方法.用这两种方法执行遍历的场景太多太多了,这里我们只针对以下两个数组作为例子来讨论.所谓管中窥豹,多少能理清一点两者的区 ...

随机推荐

  1. .Net下的CORS跨域设置

    CORS跨域访问问题往往出现在"浏览器客户端"通过ajax调用"服务端API"的时候.而且若是深究原理,还会发现跨域问题其实还分为[简单跨域]与[复杂跨域]这两 ...

  2. 【主流技术】日常工作中关于 JSON 转换的经验大全(Java)

    目录 前言 一.JSON 回顾 1.1结构形式 二.其它类型 -> JSON相关 2.1 JavaBean 转 JsonObject 2.2 JavaBean 转 Json 字符串 2.3 Li ...

  3. 多个 .NET Core SDK 版本之间进行切换 global.json

    由于同一台电脑可以安装多个版本的.NET Core SDK. 当安装了许多不同版本的.NET Core SDK 之后,要如何才能使用旧版dotnet 命令,执行dotnet new 或dotnet b ...

  4. 接入移动手机号一键登录类的封装,app应用,php服务端类的封装与调用

    需求:实现手机号一键登录,由于官方只有java的demo和jar包,没有php的sdk及demo <?php/* * 手机号一键登录加解密 */class Autophone{ const A_ ...

  5. manjaro/archLinux出现什么的签名未知信任的时候

    sudo pacman -S archlinuxcn-keyring 在进行该做的就可以了 出现这种状况的原因是没有规范的更新系统!

  6. 让高清和流畅并存,3DCAT云看车技术领跑汽车行业

    3DCAT实时云渲染平台在承接了奥迪大客户的项目后,将把一部分业务重心放到汽车行业,加大了研发力度和算力投入,细节决定成败,3DCAT的云看车高度还原了汽车每一种材质和纹理,逼真的视觉享受,让车主爱不 ...

  7. 除gRPC之外的另一个选择,IceRPC-支持QUIC

    作者引言 自从19年开始接处到RPC,当时完全没有相关概念,接触到的都是http,tcp等,当时公司用的是zeroc出品的ice框架,对应rpc非常强大,跨平台,跨语言.可惜的国内并不是主流,主流是g ...

  8. FastWiki(增强AI对话功能)企业级智能客服功能介绍

    知识库对话功能 什么是知识库对话? 我们需要找到AI的知识能力是有限的他们的知识都截止于他们训练数据的时间,你提问他们更新的数据的时候他们就会出现乱回复.而知识库则是利用Prompt给于AI更多的知识 ...

  9. KingbaseES数据库配置Hikari数据源

    Hikari是一个高性能的数据库连接池,它是Spring Boot 2.x中的默认数据源. 一.下载驱动 打开下面网址:选择对应平台的jdbc驱动程序. 人大金仓-成为世界卓越的数据库产品与服务提供商 ...

  10. 无法进去wordpress后台,也不能修改密码怎么办?wordpress无需下载插件修改代码配置SMTP发送邮件(网易邮箱)

    (解决不能进入wordpress后台,忘记密码,找回密码时提示站点邮件配置失败的问题,配置好之后即可通过邮件重置wordpress密码) 使用ssh工具远程连接自己的服务器(Xshell或者服务器自带 ...