Java入门必备|有你想知道的代码技巧

news2024/11/15 13:23:37

 前言

本文主要分享记录学习Java时的敲代码大法,一步步与idea这个软件磨合,让它为我们敲代码这条路提供更便捷的帮助(雀食好用哈)

一.psvm

很多刚上手IJ软件,就被main()方法给折服了,这段代码量十分大

当我们键入"psvm"这四个字符然后按一下Tab键,软件就会自动生成这行代码,极大减少了繁琐的工作量

图一:psvm技巧
public static void main(String[] args) {
        
    }

二.变量的基础操作

当我们要输出一个值,遍历数组等等

可以参考这个模板:

名称 + “ .(一个小点,英文下的句号)

我们可以发现有soutv,sout,fori forr,等等选项,下面我们就来详细介绍这几个代码。

图二:快捷输出

 首先soutvsout都是输出语句的快捷使用代码,sout是直接输出当前的变量,soutv则会自动加上变量名进行输出,我们尝试输入,得出的代码如下:

//sout
System.out.println(i);
//soutv
System.out.println("i = " + i);

而fori和forr比较特殊,循环语句我们就拿数组来做实验,先打一个简单的数组

public class Array {
    public static void main(String[] args) {
        int[] arr = {1, 3, 5, 7, 9,};
    }
}

然后输入arr + “.” + fori ,然后Tab键选择

它就自动写好了一个变量为i,循环次数为长度length-1的for循环

然后在循环里我们又使用一遍上文中的sout技巧,便得到了一个简单的遍历数组代码

图三:快捷循环遍历
public class Array {
    public static void main(String[] args) {
        int[] arr = {1, 3, 5, 7, 9,};
        for (int i = 0; i < arr.length; i++) {    //用fori快捷输入
            System.out.println(arr[i]);         //用sout快捷输入,[i]这个要自己输入
        }
    }
}

当然,我也没忘讲这个forr,其实就是倒序遍历,⬇来看代码⬇

for (int i = arr.length - 1; i >= 0; i--) {
            System.out.println(arr);
        }

三.增强型for

接上文for循环,当我们仅仅对其使用遍历时,我们也可以简化其代码,达到简洁快捷的效果,当然,功能也仅限于遍历。

我们来看代码公式:

for ( 数据类型 变量名集合或者数组 ) { }

 1.遍历数组

还是用上面的arr数组为例

public static void main(String[] args) {
        int[] arr = {1, 3, 5, 7, 9,};
        for(int i : arr){
            System.out.println(i);
        }
    }

此处要注意的是输出时println里写的是 i ,指定的是数组的下标,相当于以前写的arr[i],然后直接输出下标所对应存储的值。

这个循环不会改变数组里的值,所以当我们把里面的句子改成

System.out.println(i+1);

此循环也只是把数组里的值拿出来用,而不会改变数值 ,原有的数值还是1,3,5,7,9,只是在输出时在外部进行+1操作

图四:输出结果

 2.遍历集合

和遍历数组一样的操作 

public class Array {
    public static void main(String[] args) {
        fortext();
    }

    public static void fortext(){
        List<String> list = new ArrayList<>();
        list.add("aaa");
        list.add("bbb");
        list.add("ccc");
        list.add("ddd");

        for (String s : list){
            System.out.println(i);
        }
    }
}

四.StringBuilder类

通过使用StringBuilder类可以实现很多与字符串有关的操作

1.转成字符串

StringBuilder append(任意类型) 参数追加成字符串,无论参数写的是什么,都会变成字符串。相当于是字符串里面的 + 运算

public static void builderAppend(){

    StringBuilder builder = new StringBuilder();
    //方法append追加字符串
    builder.append(100);
    builder.append(5.8);
    builder.append(true);

    System.out.println("builder = " + builder);
}

2.插入字符串 

StringBuilder insert(int 索引, 任意类型) 可以将任意类型的参数,插入到字符串缓冲区,指定索引。(指定索引的意思就是指:指定的位置)

/**
     * StringBuilder类的方法insert,指定位置,插入元素
     */
public static void builderInsert(){
    StringBuilder builder = new StringBuilder();
    builder.append("bcdef");
    //指定的索引上,添加字符串,原有字符,顺延
    builder.insert(2,"QQ");
    System.out.println("builder = " + builder);
}

3.删除字符串

  • StringBuilder delete(int start,int end)删除缓冲区中指定长度内的字符,包含开头索引,不包含结束索引

  • 即当我们要删除一段字符串,我们可以明确它的位置,StringBuilder delete(2,5);代表删除包括索引为2到索引为5,但不包括索引为5的这段字符串

4.修改字符串 

  • void setCharAt(int 索引,char ch)修改指定元素上的字符

5.字符串的反转

当我们学过基础内容时,很多小伙伴可能都遇到过这种题,让你翻转字符串然后输出,绞尽脑汁地写循环写遍历,然后让它们乖乖交换顺序,而Java种的这个类,就有这个翻转字符的方法

StringBuilder reverse() ,有了它,这种问题就轻轻松松啦。

五.快捷键使用

网上很多此类文章,所以我只总结几个初学入门使用较多的快捷键

Ctrl+D:在面对大量代码格式一致时,可以向下复制一行

Ctrl+X:删除当前行代码

Ctrl+/:快速增加/删除注释

Alt+Insert快捷生成代码,如get,set方法,键盘上应该是Ins键

希望这篇小短文能帮到大家,喜欢的欢迎三连加关注!你们的支持就是我最大的动力! 

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

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

相关文章

常见指令以及权限理解

常见指令以及权限理解 命令格式&#xff1a; command [-options] parameter1 parameter1 命令 选项 参数1 参数2 1.command为命令名称&#xff0c;例如变化目录的cd等 2.中括号[ ]实际在命令中是不存在的&#xff0c;这个中括号代表可选&#xff0c;通常选项前面会添加一个符号…

Linux命令200例:clock的具体应用,设置系统的时钟时间、硬件时钟和定时器等相关信息

&#x1f3c6;作者简介&#xff0c;黑夜开发者&#xff0c;全栈领域新星创作者✌。CSDN专家博主&#xff0c;阿里云社区专家博主&#xff0c;2023年6月csdn上海赛道top4。 &#x1f3c6;数年电商行业从业经验&#xff0c;历任核心研发工程师&#xff0c;项目技术负责人。 &…

缺少或找不到vcruntime140_1.dll的解决方法

某天&#xff0c;当我准备打开电脑上的一个应用程序时&#xff0c;突然收到一个错误提示&#xff0c;显示缺少了vcruntime140_1.dll文件。这个文件是一个重要的系统组件&#xff0c;它的丢失导致了我无法正常运行该应用程序。于是&#xff0c;我开始了一场寻找和修复旅程。然而…

“深度学习”学习日记:Tensorflow实现VGG每一个卷积层的可视化

2023.8.19 深度学习的卷积对于初学者是非常抽象&#xff0c;当时在入门学习的时候直接劝退一大班人&#xff0c;还好我坚持了下来。可视化时用到的图片&#xff08;我们学校的一角&#xff01;&#xff01;&#xff01;&#xff09;以下展示了一个卷积和一次Relu的变化 作者使…

leetcode 387.字符串中第一个唯一字符

⭐️ 题目描述 &#x1f31f; leetcode链接&#xff1a;https://leetcode.cn/problems/first-unique-character-in-a-string/description/ 思路&#xff1a; 比较优的方式使用相对映射记录的方式。在 ASCII 表中小写字母 -97 就是 0 - 25。在依次从前遍历查找即可。需要注意的…

论文笔记:Continuous Trajectory Generation Based on Two-Stage GAN

2023 AAAI 1 intro 1.1 背景 建模人类个体移动模式并生成接近真实的轨迹在许多应用中至关重要 1&#xff09;生成轨迹方法能够为城市规划、流行病传播分析和交通管控等城市假设分析场景提供仿仿真数据支撑2&#xff09;生成轨迹方法也是目前促进轨迹数据开源共享与解决轨迹数…

十六、Spring Cloud Sleuth 分布式请求链路追踪

目录 一、概述1、为什么出出现这个技术&#xff1f;需要解决哪些问题2、是什么&#xff1f;3、解决 二、搭建链路监控步骤1、下载运行zipkin2、服务提供者3、服务调用者4、测试 一、概述 1、为什么出出现这个技术&#xff1f;需要解决哪些问题 2、是什么&#xff1f; 官网&am…

RingBuffer 环形缓冲区----镜像指示位

文字和图片参考和来自这些文章&#xff1a; 大疆嵌入式软件编程题找鞍点_已知循环缓冲区是一个可以无限循环读写的缓冲区,当缓冲区满了还继续写的话就会覆_一禅的师兄的博客-CSDN博客 ring buffer&#xff0c;一篇文章讲透它&#xff1f; - 知乎 (zhihu.com) 1 概述 1.1 什…

Python可视化在量化交易中的应用(15)_Seaborn箱线图小提琴图

Seaborn中箱线图和小提琴图的绘制方法 箱线图和小提琴图常被用来观测数据的中位数、上下四分位数分布范围以及异常值的分布情况。 seaborn中绘制箱线图使用的是sns.boxplot()函数。 sns.boxplot(x,y,hue,data,order,hue_order,orient,color,palette,saturation0.75,width0.8,do…

C语言 功能型API --------------------strcat()

NAME strcat, strncat - concatenate two strings 头文件 SYNOPSIS #include <string.h> 函数原型&#xff1a; char *strcat(char *dest, const char *src); 功能&#xff1a; 在字符串dest的末尾将字符串src拼接上去 #include <stdio.h> #inc…

227、仿真-基于51单片机锅炉热电偶PT100铂电阻温度控制Proteus仿真设计(程序+Proteus仿真+原理图+流程图+元器件清单+配套资料等)

毕设帮助、开题指导、技术解答(有偿)见文未 目录 一、设计功能 二、Proteus仿真图 三、原理图 四、程序源码 资料包括&#xff1a; 需要完整的资料可以点击下面的名片加下我&#xff0c;找我要资源压缩包的百度网盘下载地址及提取码。 方案选择 单片机的选择 方案一&…

LlamaGPT -基于Llama 2的自托管类chatgpt聊天机器人

LlamaGPT一个自托管、离线、类似 ChatGPT 的聊天机器人&#xff0c;由 Llama 2 提供支持。100% 私密&#xff0c;不会有任何数据离开你的设备。 推荐&#xff1a;用 NSDT编辑器 快速搭建可编程3D场景 1、如何安装LlamaGPT LlamaGPT可以安装在任何x86或arm64系统上。 首先确保…

网络编程(TCP和UDP的基础模型)

一、TCP基础模型&#xff1a; tcp Ser&#xff1a; #include <stdio.h> #include <sys/types.h> #include <sys/socket.h> #include <arpa/inet.h> #include <netinet/in.h> #include <string.h> #include <head.h>#define PORT 88…

探索无限创造力的星辰大道,画出想象的浩瀚宇宙!-turtle

介绍 视频教程地址在此&#xff1a;https://www.bilibili.com/video/BV1Pm4y1H7Tb/ 大家好&#xff0c;欢迎来到本视频&#xff01;今天&#xff0c;我们将一同探索Python编程世界中的一个有趣而创意的库——Turtle库。无需专业绘画技能&#xff0c;你就可以轻松地用代码绘制…

docker的安装与基础使用

一.docker简介 1&#xff09;什么是docker Docker是一种用于构建、打包和运行应用程序的开源平台。它基于操作系统级虚拟化技术&#xff0c;可以将应用程序和其依赖的库、环境等资源打包到一个可移植的容器中&#xff0c;形成一个轻量级、独立的可执行单元。 开发者在本地编…

QT TLS initialization failed问题(已解决) QT基础入门【网络编程】openssl

问题: qt.network.ssl: QSslSocket::connectToHostEncrypted: TLS initialization failed 这个问题的出现主要是使用了https请求:HTTPS ≈ HTTP + SSL,即有了加密层的HTTP 所以Qt 组件库需要OpenSSL dll 文件支持HTTPS 解决: 1.加入以下两行代码获取QT是否支持opensll以…

【学会动态规划】单词拆分(24)

目录 动态规划怎么学&#xff1f; 1. 题目解析 2. 算法原理 1. 状态表示 2. 状态转移方程 3. 初始化 4. 填表顺序 5. 返回值 3. 代码编写 写在最后&#xff1a; 动态规划怎么学&#xff1f; 学习一个算法没有捷径&#xff0c;更何况是学习动态规划&#xff0c; 跟我…

向gitee推送代码

目录 一、Gitee创建仓库 二、将刚刚创建的仓库放到虚拟机上 2.1 https 方式克隆仓库 2.2 ssh的方式克隆仓库 三、本地开发&#xff0c;推送 3.1 查看是否有远程库 3.2 推送代码 3.3 查看是否推送成功 一、Gitee创建仓库 二、将刚刚创建的仓库放到虚拟机上 2.1 https 方式…

codesys和HMI通讯

codesys可视化有2种&#xff1a; 网页web // 类似于路由器管理那样&#xff0c;登录网页就能操作 本地HMI // 其他品牌的触摸屏 符号配置&#xff1a; 1 编译需要的变量 2 导出XML文件 3 触摸屏软件加载XML文件

kafka--kafka的基本概念-topic和partition

一、kafka的基本概念-topic和partition 1、topic &#xff08;主题 &#xff09; topic是逻辑概念 以Topic机制来对消息进行分类的&#xff0c;同一类消息属于同一个Topic&#xff0c;你可以将每个topic看成是一个消息队列。 生产者&#xff08;producer&#xff09;将消息发…