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

 前言

本文主要分享记录学习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.rhkb.cn/news/96648.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++音乐播放系统

C音乐播放系统 音乐的好处c发出声音乐谱与赫兹对照把歌打到c上 学习c的同学们都知道&#xff0c;c是一个一本正经的编程语言&#xff0c;因该没有人用它来做游戏、做病毒、做…做…做音乐播放系统吧&#xff01;&#xff01; 音乐的好处 提升情绪&#xff1a;音乐能够影响我们…

【小梦C嘎嘎——启航篇】vector 以及日常使用的接口介绍

【小梦C嘎嘎——启航篇】vector 日常使用的接口介绍&#x1f60e; 前言&#x1f64c;vector 是什么&#xff1f;vector 比较常使用的接口 总结撒花&#x1f49e; &#x1f60e;博客昵称&#xff1a;博客小梦 &#x1f60a;最喜欢的座右铭&#xff1a;全神贯注的上吧&#xff01…

SQL力扣练习(十一)

目录 1.树节点(608) 示例 1 解法一(case when) 解法二(not in) 2.判断三角形(610) 示例 1 解法一(case when) 解法二(if) 解法三(嵌套if) 3.只出现一次的最大数字(619) 示例 1 解法一(count limit) 解法二(max) 4.有趣的电影(620) 解法一 5.换座位(626) 示例 …

iOS申请证书(.p12)和描述文件(.mobileprovision)

打包app时&#xff0c;经常会用到ios证书&#xff0c;但很多人都苦于没有苹果电脑&#xff0c;即使有苹果电脑的&#xff0c;也会觉得苹果电脑操作也很麻烦&#xff0c;这里记录一下&#xff0c;用香蕉云编&#xff0c;申请证书及描述文件的过程。 香蕉云编的地址&#xff1a;…

C语言好题解析(三)

目录 选择题一选择题二选择题三选择题四编程题一编程题二 选择题一 以下程序段的输出结果是&#xff08;&#xff09;#include<stdio.h> int main() { char s[] "\\123456\123456\t"; printf("%d\n", strlen(s)); return 0; }A: 12 B: 13 …

批量提取文件名到excel,详细的提取步骤

如何批量提取文件名到excel&#xff1f;我们的电脑中可能存储着数量非常多的电子文件&#xff0c;现在需要快速将这些文件的名称全部提取到Excel中。虽然少量数据可以通过复制粘贴的方式轻松完成&#xff0c;但是对于上万个数据而言&#xff0c;复制粘贴都是行不通的&#xff0…

Java泛型

什么是泛型 定义类、接口、方法时&#xff0c;同时声明了一个或者多个类型变量(如: <E>)&#xff0c;称为泛型类、泛型接口&#xff0c;泛型方法、它们统称为泛型。 public class ArrayList<E>{ .... } 作用:泛型提供了在编译阶段约束所能操作的数据类型&#x…

数据结构:二叉树的递归实现(C实现)

个人主页 &#xff1a; 个人主页 个人专栏 &#xff1a; 《数据结构》 《C语言》 文章目录 前言一、树的概念二、二叉树二叉树的概念二叉树的性质 三、二叉树链式结构实现二叉树节点定义创建二叉树节点遍历二叉树先序遍历二叉树(BinaryTreePrevOrder)中序遍历二叉树(BinaryTree…

一百五十六、Kettle——Linux上安装的Kettle9.3连接ClickHouse数据库(亲测,附流程截图)

一、目标 kettle9.3在Linux上安装好后&#xff0c;需要与ClickHouse数据库建立连接 二、前提准备 &#xff08;一&#xff09;在Linux已经安装好kettle并可以启动kettle &#xff08;二&#xff09;已知kettle和ClickHouse版本 1、kettle版本是9.3 2、ClickHouse版本是21…

浏览器控制台调试实用方法

许多程序员仅知道控制台的console.log&#xff0c;其实控制台API还包含一些其他实用方法&#xff0c; 这些方法在前端调试时会很有帮助。 目录 console.dir 查看对象属性和方法 输出DOM元素 console.error console.time和console.timeEnd console.log console.clear 总结…

Oracle切割字符串的方法,SQL语句完成。

Oracle用正则的方式循环切割字符串 需求&#xff1a;有一个这样子的 Str “‘CNJ-520-180500000001|CNJ-520-181200000001|CNJ-520-190300000001|CNJ-520-190100000001|CNJ-520-181200000002’” &#xff0c;然后我需要拿到每一个单号&#xff0c;每一个单号都要走一遍固定的…

Flask-SQLAlchemy

认识Flask-SQLAlchemy Flask-SQLAlchemy 是一个为 Flask 应用增加 SQLAlchemy 支持的扩展。它致力于简化在 Flask 中 SQLAlchemy 的使用。SQLAlchemy 是目前python中最强大的 ORM框架, 功能全面, 使用简单。 ORM优缺点 优点 有语法提示, 省去自己拼写SQL&#xff0c;保证SQL…

35_windows环境debug Nginx 源码-CLion配置CMake和启动

文章目录 生成 CMakeLists.txt 组态档35_windows环境debug Nginx 源码-CLion配置CMake和启动生成 CMakeLists.txt 组态档 修改auto目录configure文件,在 . auto/make 上边增加 . auto/cmake, 大概在 106 行。在 auto 目录下创建cmake 文件其内容如下: #!/usr/bin/env bash NG…

C++ string类详解

⭐️ string string 是表示字符串的字符串类&#xff0c;该类的接口与常规容器的接口基本一致&#xff0c;还有一些额外的操作 string 的常规操作&#xff0c;在使用 string 类时&#xff0c;需要使用 #include <string> 以及 using namespace std;。 ✨ 帮助文档&…

React入门 jsx学习笔记

一、JSX介绍 概念&#xff1a;JSX是 JavaScript XML&#xff08;HTML&#xff09;的缩写&#xff0c;表示在 JS 代码中书写 HTML 结构 作用&#xff1a;在React中创建HTML结构&#xff08;页面UI结构&#xff09; 优势&#xff1a; 采用类似于HTML的语法&#xff0c;降低学…

图神经网络 day2 图的分类

图神经网络基础算法 1 GCN2 GraphSAGE2.1 采样&#xff1a;采样固定长度的邻居2.2 聚合2.3 GraphSAGE_minibatch2.4 GraphSAGE_embedding 3 GAT4. 图网络的分类4.1 递归图神经网络 RGNN4.2 图卷积神经网络GCN4.3 图注意力网络 GAT4.4 图自动编码 GAE4.5 图时空网络 GSTN4.6 图生…

opencv-目标追踪

import argparse import time import cv2 import numpy as np# 配置参数 ap argparse.ArgumentParser() ap.add_argument("-v", "--video", typestr,help"path to input video file") ap.add_argument("-t", "--tracker", …

linux系统服务学习(六)FTP服务学习

文章目录 FTP、NFS、SAMBA系统服务一、FTP服务概述1、FTP服务介绍2、FTP服务的客户端工具3、FTP的两种运行模式&#xff08;了解&#xff09;☆ 主动模式☆ 被动模式 4、搭建FTP服务&#xff08;重要&#xff09;5、FTP的配置文件详解&#xff08;重要&#xff09; 二、FTP任务…

Git 设置代理

Git 传输分两种协议&#xff0c;SSH和 http(s)&#xff0c;设置代理也需要分两种。 http(s) 代理 Command Line 使用 命令行 模式&#xff0c;可以在Powershell中使用以下命令设置代理&#xff1a; $env:http_proxy"http://127.0.0.1:7890" $env:https_proxy&quo…

12-数据结构-数组、矩阵、广义表

数组、矩阵、广义表 目录 数组、矩阵、广义表 一、数组 二.矩阵 三、广义表 一、数组 这一章节理解基本概念即可。数组要看清其实下标是多少&#xff0c;并且二维数组&#xff0c;存取数据&#xff0c;要先看清楚是按照行存还是按列存&#xff0c;按行则是正常一行一行的去读…