Java学习中被忽略的知识点与技巧(1)

Java基础知识点梳理 虽然已经在实际工作中经常与java打交道,但是一直没系统地对java这门语言进行梳理和总结,掌握的知识也比较零散。恰好利用这段时间重新认识下java,并对一些常见的语法和知识点做个总结与回顾,一方面为了加深印象,方便后面查阅,一方面为了掌握好Android打下基础。 阅读详情

JVM:java virtual machine
JRE:java runtime environment = JVM + java系统类库,运行java程序
JDK:java development kit = JRE + 编译/运行等命令工具

运行java的最小环境:JRE
开发java的最小环境:JDK

环境变量:    JAVA_HOME: Path for jdk
    CLASS_PATH: Path to search for Class, '.' default
    PATH: Path for /jdk/bin

Development Steps:
    new Java project
    new Java package
    new Java class

当且仅当运算数中有long时,运算结果才是long
long dis1 = 1000000000*100000000L;    //no overflow, 100000000000000000
long dis2 = 1000000000*100000000;    //overflow, 1569325056

运算从前向后进行,所以最好是第一个数字是Long
long dis1 = 100000000*10000000000*10000000L;    //overflow,-15304949760000000 
long dis2 = 100000000L*100000000000*10000000;    //no overflow,1864712049423024128

System.time.currentTimeMillis: Milliseconds from start of 1970

Default type of decimal is double. For float constant a 'f' or 'F' is required.

浮点数会产生舍入误差,因为二进制表示有误差。完全不能接收误差的,使用BigDecimal

数据从小到大自动转换,从大到小强制转换

逻辑运算是短路的

加法运算符是从前向后的,所以
    System.out.println(11+22+"");    //输出33
    System.out.println(""+11+22);    //输出1122
变量作用域:到下面一个大括号。
相同作用域中不能有重名变量

switch语句:
    优点:简介快速
    缺点:只能判断整数相等

while和do-while:是否至少执行一次

返回每月天数的函数
switch(month) {
        case 1: case 3: case 5: case 7: case 8: case 10: case 12:
            return 31;
        case 2:
            return 28;
        default:
            return 30;    
        }

Math.random(); 0-1之间的随机数

数组arr = {1,2,3};只能用于初始化

数组访问:arr.length

数组的复制:System.arraycopy(src, srcPos, dest, destPos, length);
    b = Arrays.copyOf(original, newLength),多出来的length补默认值0

数组扩容:使用Arrays.copyOf方法进行扩容

方法的签名:方法名+参数类型
方法重载的意义:降低用户的使用负担,对于用户而言更加优雅

补充:
同一个文件中能够包含多个类,并列关系
public修饰的类只能有一个,且必须与文件名相同

构造方法特点:
    给成员变量赋值
    构造方法必须与类名相同
    没有返回类型
    默认提供,如果自己提供了,则没有默认的无参构造方法

this:只能用在类的非静态方法中,指当前对象
this的用法:    
    this.variable:访问成员变量
    this.function:一般不用

如果构造函数出入的形参名字和成员变量一样,那么必须用this调用成员变量
技巧:可以使用this()调用本类的构造函数,实现不同构造函数

内存管理:JVM进行
堆:对象和成员变量
栈:局部变量
方法区:.class字节码文件(包括方法)

基本类型的等号是直接赋值
对象名的等号是复制引用,指向同一个文件,并非在拷贝对象,只是在拷贝引用

空指针异常:
Student[] s = new Student[5];
System.out.println(s[0]);
定义了一个Student类的数组,每个都指向null        

也可以给引用类型的数组按下列语法赋值:
    Student[] student = new Student[]{
        new Student(name, age, address),    
        new Student(name, age, address),
        new Student(name, age, address),    
        }

Java中,一个类只具有一个父类,不能继承多个父类。即不支持多继承

继承具有传递性

java规定:构造子类之前,必须先构造父类
    如果子类中没有调用父类的构造方法,则默认super调用父类的无参构造方法
    否则如果手动调用了super,则不默认调用

super的用法:
    super.成员变量名
    super.方法名
    super()调用父类的构造方法

帮助理解的例子:studnet继承person,则在student中赋值:
    this.studentid = 1120172954
    super.name = "William"
(但是,其实用this.studentid也可以修改该属性)

java 访问https忽略证书 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.UnsupportedEncodingException; import java.net.HttpURLConnection;... 阅读详情

相关推荐

pta——特立独行的幸福

这是我认为比较复杂的一道题了,比较迷茫的点在于不知道要算各位平方和几次到不了1,才算他不是幸福数。突破口在于如果如果不是回到1也会有一些数字重复出现,只要重复出现的数字不是1,那就不是幸福数

m0_65620244的博客 4035

Java 常忽略知识点总结

程序(program):是为了完成特定任务、用某种语言编写的一组指令的集合。即指的一段静态的 代码,静态对象。 进程(process):是程序的一次执行过程,或是正在运行的一个程序。 动态过程:有他自身的产生、存在和消亡的过程。 如:运行的QQ、运行的MP3的播放器 程序是静态的,进程是动态的。 线程:进程可进一步细化为线程,是一个程序内部的一条执行路径。 若一个程序可同一时间执行多

Nothing 1977

车底盘:阿克曼转向和四轮差速

特性四轮差速四轮转向阿克曼转向转向方式控制左右轮组速度差控制四个轮子的角度控制前轮角度(后轮固定)运动原理滑移摩擦(搓着走)纯滚动(滚着走)近乎纯滚动(低速时)能耗高低(实现纯滚动时)中轮胎磨损非常严重小中灵活性高(可原地旋转)极高(可全向移动)低(转弯半径大)控制精度较低(受地面摩擦影响大)极高高机械复杂度低(通常只需2个驱动电机)极高(需4个转向+4个驱动执行器)中(需1个转向+2个驱动执行器)典型应用坦克、履带车辆、简单AGV、扫地机器人豪华轿车、高性能全向AGV。

bing_feilong的博客 1918

Java学习从基础到精通——技术小白的成长之路(Java学习笔记)第二天

变量、基本数据类型、基本数据类型间的转换、Scanner的用法 1、变量 变量就是指代在内存中开辟的存储空间,用于存放运算过程中需要用到的数据。(简单来说:存放数据) 1)声明: int a ;  //声明一个整型的变量,名为a int b,c,d;  //声明三个整型的变量,名为b,c,d 2)初始化:第一次赋值。 2.1)声明的同时初始化: int a =250;  //声明整...

九十度转角遇见你 的博客 243

一文说清STM32CubeMX中文汉化全流程(图解说明)

详细讲解STM32CubeMX中文汉化的完整流程,通过图文并茂的方式手把手教学,解决界面英文带来的使用障碍,让开发更高效。掌握stm32cubemx中文汉化技巧,提升嵌入式开发体验。

weixin_42499004的博客 6264

【26美赛A题】2026美赛数学建模(MCM/ICM)思路解析及代码分享

本文介绍了2026年美赛数学建模A题的解题思路与方法。A题通常属于连续型系统问题,重点在于构建可解释的机理模型,通过将现实机制转化为动态方程进行仿真预测。文章提出了通用建模路线,包括机理抽象、模型假设、动态建模、参数识别、系统仿真和情景预测六个阶段。专栏将提供从机理到方程的系统建模思路、参数标定方法、Python/Matlab实现代码以及高分论文模板。内容适合参加2026美赛A题、偏重物理/工程建模方向的参赛队伍,旨在提升机理建模能力。后续将更新完整题解和源码。

一键难忘的博客 2004

java中long转int变成负数(超出int最大值)

今天项目中突然要改一个字段的类型,int改成Long类型的,,,我自己随便测试的时候,转换出来的值变成了负数,觉得很奇怪,于是研究了一下,测试结果如下: ...

代码君的博客 1万+

【MATLAB】嵌入式PID控制参数整定与优化

本文提出了一种基于MATLAB仿真的嵌入式PID参数优化方法,解决了传统人工试凑法效率低、适应性差的问题。通过建立一阶滞后被控对象模型,对比分析了不同PID参数组合的性能表现,筛选出最优参数。仿真结果表明,优化后的PID参数能有效降低超调量(从传统方法的显著超调降至接近0%),缩短调节时间,提高稳态精度。最终将优化算法部署到STM32平台,实现了"仿真整定-参数优化-嵌入式落地"的完整开发流程。该方法显著提升了嵌入式系统的响应速度和控制精度,为工业控制应用提供了标准化解决方案。

unber的博客 45

Java中的变量与基本数据类型

今天是我第二天上课,老师讲得很详细,主要就说了变量还有数据的基本类型还有数据类型的转换,今天我就总结一下吧。 一、变量 老师讲这变量讲了一个小时 ,我擦,用不用讲这么久啊,一个小时下来,主要有这几个点是需要注意的一个简单的语句就能通了 int a = 3; 很明显上面所写的是正确的, int 就是首先要声明这一个变量嘛,然后 a 就是变量名嘛,变量名主要就是见名知义,年龄 就age囖 ,现

AdrainHuang的博客 517

时频分析之短时傅里叶变换(STFT)

本文利用MATLAB自带的spectrogram函数对信号做短时傅里叶变换。首先介绍了短时傅里叶变换(STFT)的背景及意义;其次,对spectrogram函数的用法以及变量的含义做了详细的解释;最后,利用MATLAB编写程序实现了信号的STFT。

总结论文中的算法并给出论文的复现代码 7万+

Taro React组件使用(5) —— RuiPasswordInput 密码输入框显示隐藏和清空

初始化时,需要将传入的 value 赋值给当前组件的 value, 不能直接修改 props 的 value;在组件内输出组件内的变量时,最好先判断输出函数是否定义,再输出,否则很容易引起报错。

止于至善 891

java学习笔记之java基础中那些被忽略的小知识点

java基础知识中有很多小知识点容易被忽略。

小白进阶的博客 1279

基于应用谱减法进行语音去噪的算法

在上述代码中首先通过读取语音信号和噪声信号,将两个信号都转换为频域信号,然后计算出语音信号在各频率下的功率谱和噪声信号在各频率下的功率谱,并基于此计算信噪比,接着根据信噪比计算出阈值,并将低于阈值的能量对应的频段进行清零操作,最终实现去噪处理,最后将处理后的信号转换回时域信号。该算法采用谱减法进行降噪处理,能有效地去除语音信号中的噪声,但是在实际应用中,该方法也存在一些问题,如会对语音信号的高频部分产生影响,所以需要在应用过程中进行适当的调整。

weixin_50547796的博客 192

Java面试易忽略知识点

组合式异步编程java。

qq_41263609的博客 992

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Java 容易忽略的知识点

内部类对象必须绑定到一个外部类对象上。 outerObj.new MyInner(); 序列化和文件的输入/输出 File对象代表磁盘上的文件或目录的路径名称,如/user/data/game.txt   或  /user/admin/  它并不能读取或代表文件中的数据。 读写文件时使用缓冲区:BufferWriter  BufferReader等等,可以将它们同FileWriter

u011795520的专栏 683

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

java模糊比较两个字符串是否相等,忽略符号,忽略大小写,忽略全角与半角

java模糊比较两个字符串对象是否相等,忽略符号,忽略大小写,忽略全角与半角。 /** * @param obj1 * @param obj2 * @return */ public boolean isEquals(Object obj1, Object obj2) { ...

chuanhuan9497的博客 2475

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Java易忽略知识点总结

博主即将步入公司,公司给定了相关文档让工作前读完,本节将针对http://www.weixueyuan.net/的Java教程查缺补漏,总结相关易忽略的知识点,跟大家分享~ 一.Java概述 1.类和对象的基本概念 面向对象编程(Object Oriented Programming, OOP) 2.Java类库及其结构组织 Java类库中的包 以 java.* 开头的是Java的核...

Jack汪喆的技术分享栏 344

java websocket及忽略证书

websocket连接 1、websocket是什么 WebSocket是一种在单个TCP连接上进行全双工通信的协议,允许服务端主动向客户端推送数据,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。 2、应用场景 通过一次tcp长连接,经过一次三次握手,持续的双向传输数据。 特点:实时双向通讯 协议与http类似,ws对应http,wss对应https协议 3、实现方式 1、利用Java-WebSocket库 注意事项: 1、ServerEndpoint注解声明的类

qq_33529102的博客 8958

Java中一些容易忽略的知识点

前面加0b或0B前面加0默认前面加0x或0X。

weixin_43924359的博客 901

java忽略证书验证(兼容http,https)

java忽略证书验证

抽象的螺旋 1万+

java 对象转json忽略某个属性

1、FastJson转Json字符串时,忽略指定属性 1.1使用注解@JSONField 以下Bean package com.gomefinance.esign; import com.alibaba.fastjson.annotation.JSONField; import lombok.Getter; import lombok.Setter; import java.io.Seri...

insis_mo的博客 1万+

java 中对异常进行忽略_为什么您应该忽略Java中的异常以及如何正确进行处理

java 中对异常进行忽略by Rainer Hahnekamp 通过Rainer Hahnekamp 为什么您应该忽略Java中的异常以及如何正确进行处理 (Why you should ignore exceptions in Java and how to do it correctly) In this article, I will show how to ignore checke...

cumian8165的博客 3379

java编译时可以忽略错误吗

Java编译时可以忽略错误吗? Java是一种静态类型语言,编译器在编译过程中会检查代码的类型安全和语法正确性。然而,有时候我们可能希望在某些情况下忽略编译错误,以便快速开发和测试。本文将探讨Java编译时是否可以忽略错误,以及如何实现这一目标。 编译错误的种类 Java编译错误主要分为两类:语法错误和语义错误。 语法错...

weixin_37081492的博客 568

svn和git 配置忽略文件(1)

Android Studio 配合SVN时,添加忽略文件相对简单,首先打开项目的Settings选项,切换到Version Control下的Ignored Files目录,如下图:ignore1.png点击右上角绿色加号,出现如下对话框:ignore2.png其中Ignore specified file选项是忽略指定的文件Ignore all files under选项是忽略指定文件夹下的文件Ignore all files matching选项是忽略匹配指定格式的文件一般需要忽略的文件如下:**1、.

2401_84875412的博客 1061

【Java】SpringBoot中通过java代码实现忽略SSL证书

//工具类 package com.oauth.utils; import org.springframework.stereotype.Component; import java.security.cert.CertificateException; import java.security.cert.X509Certificate; import javax.annotation.PostConstruct; import javax.net.ssl.HostnameVerifier; imp.

xiaobanv1的专栏 4924

java模糊比较_java模糊比较两个字符串是否相等,忽略符号,忽略大小写,忽略全角与半角...

java模糊比较两个字符串对象是否相等,忽略符号,忽略大小写,忽略全角与半角。/*** @param obj1* @param obj2* @return*/public boolean isEquals(Object obj1, Object obj2) {if (obj1 == null || obj2 == null) {return false;}String str1 = (String...

weixin_39842237的博客 2134
上一篇: Java学习笔记2------对象与类
下一篇: Java打飞机游戏【1】基础工具类
WilliamCode
博客等级 码龄11年 118粉丝 105原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值