代码编织梦想

IDE的使用

(IntegratedDevelopment Environment )集成开发环境

用于提供程序开发环境的应用程序

包括代码编辑器,编译器,调试器和调试图形界面

注释

单行注释 // Ctrl+/

多行注释 /* */ Ctrl+Shift+/

文档注释 /**

​ * 用于类、方法、属性功能进行说明,调用时可以提供其功能介绍

​ */

关键字

被java语言赋予特定含义的单词,用来修饰例如类;属性;方法(所有字母都为小写)

保留字

在java语言中未被使用的关键字,预留的,命名时要避免 goto const

标识符

java对各种变量、类、方法等命名时使用的字符序列

通俗讲:自己可以命名的名称

定义合法标识符规则

由26个英文字母大小写,0—9,_或$组成

数字不可以开头

不可以使用关键字和保留字,但能包含

java中严格区分大小写,长度无限制

标识符不能包含空格

变量

变量:程序中最基本的存储单元,程序中数值可变的

​ 每一个变量使用前必须先申请(声明),然后必须进行赋值(填充内容),才能使用

​ 本质上变量就是内存中的一块区域,通过变量名访问

语法:[修饰符] type varname [=value] [,varName[=value]·····]

Java数据类型

程序中对于每一种数据都定义了明确的具体数据类型,在内存中分配了不同大小的内存空间

java语言是一种强数据类型语言,每个数据必须指定类型,指导JVM分配内存空间

数据类型

基本类型

整数类型(byte,short,int,long)、浮点类型(float,double)、布尔类型(boolean)、字符型(char)

引用类型

类(class)、接口(interface)、数组([])

Java基本数据类型

整数类型

类型占用存储空间表数范围
byte1字节-128~127
short2字节-215~215-1
int4字节-231~231-1
long8字节-263~263-1

浮点类型

类型占用存储空间表数范围
float4字节-3.403E38~3.403E38
double8字节-1.798E308~1.798E308

Java浮点类型常量默认为double型

逻辑型boolean(布尔)

boolean类型数据只允许取值true或false

注意:不可以0或非0的整数替代true和false

char字符型

char型数据用来表示通常意义上的字符,char占2字节,字符用单引号括起来的单个字符

例如:char c1=‘a’ char c2=‘中’

char运算

​ char类型可以运算是因为char在字符编码表中有对应数在Java中,对char类型字符运行时,直接当作对应编码表的整数来对待

基本数据类型转换

Java中可以从任意基本类型转型到另外的基本类型

有多种类型的数据混合运算时,系统首先自动的将所有数据转换成容量最大的那一种数据类型,然后再进行计算

​ 例外:boolean类型不可以转换

默认转换

容量小的类型默认转换为容量大的数据类型

byte,short,char->int->long->float->double

byte,short,char之间不会互相转换,他们三者在计算时首先会转换为int类型

强制转换

容量大的数据类型转换为容量小的数据类型时,要加上强制转换符,但可能造成精度降低或溢出;使用时要格外注意

ASCLL码

在计算机内部,所有数据都使用二进制表示。每一个二进制位(bit)有 0 和 1 两种状态,因此8个二进制位就可以组合出256 状态,这被称为一个字节(byte)

一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从0000000到11111111

缺点:不能表示所有字符

Unicode编码

​ 一种编码,将世界上所有的符号都纳入其中。每一个符号都给予一个独一无二的编码,使用Unicode没有乱码的问题

​ Java采用unicode编码规范,其中完全包含ASCII编码

​ UTF-8(8位元Unicode Transformation Format)是针对Unicode的一种可变长度字符编码,它可以使用1-6个字节表示一个符号,根据不同的符号而变化字节长度,在utf-8编码表中,一个中文占3个字节,一个英文占1个字节

​ 它可以用来表示Unicode标准中的任何字符,而且其编码中的第一个字节仍与ASCII相容,使得原来处理ASCII字符的软件无须或只进行少部份修改后,便可继续使用。因此,它逐渐成为电子邮件、网页及其他存储或传送文字的应用中,优先采用的编码

运算符

算术运算符

运算符运算范例结果
+正号+33
-负号b=4;-b-4
+5+5
-6-24
*3*39
/5/51
%取余7%52
++自增(前):先运算后取值a=2;b=++a;a=3;b=3
++自增(后):先取值后运算a=2;b=a++;a=3;b=2
- -自减(前):先运算后取值a=2;b=–aa=1;b=1
- -自减(后):先取值后运算a=2;b=a–a=1;b=2
+字符串相加“He”+”llo”“Hello”

比较运算符

运算符运算范例结果
==相等于4==3false
!=不等于4!=3true
<小于4<3false
>大于4>3true
<=小于等于4<=3false
>=大于等于4>=3true

instanceof: 检查是否是类的对象 “Hello” instanceof String true

比较运算符的结果都是boolean型,也就是要么是true,要么是false。

逻辑运算符

逻辑与逻辑或逻辑非短路与短路或逻辑异或
&|&&||^
aba&ba|b!aa^ba&&ba||b
truetruetruetruefalsefalsetruetrue
truefalsefalsetruefalsetruefalsetrue
falsetruefasletruetruetruefalsetrue
falsefalsefalsefalsetruefalsefalsefalse
&与&&的区别

单&时,左边无论真假,右边都进行运算;

双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算

“|”和“||”的区别

同理,||表示:当左边为真,右边不参与运算

异或

异或( ^ ):当左右都为true时,结果为false

赋值运算符

运算符用法举例等效的表达式
+=a+=ba=a+b
-=a-=ba=a-b
*=a*=ba=a*b
/=a/=ba=a/b
%=a%=ba=a%b

条件运算符

语法: (条件表达式)?表达式1:表达式2;

​ 条件表达结果 为true 运算结果是表达式1

​ 为false 运算结果为表达式2

​ 表达式1与表达式2为同种类型

条件运算符与if-else的联系与区别

1)条件运算符可简化if-else

2)条件运算符必须返回一个结果

3)if后的代码块可有多个语句

位运算

位运算符
<<空位补0,被移除的高位丢弃,空缺位补0
>>被移位的二进制最高位是0,右移后,空缺位补0;最高位是1,空缺位补1
>>>被移位二进制最高位无论是0或者是1,空缺位都用0补
&二进制位进行&运算,只有1&1时结果是1,否则是0
|二进制位进行|运算,只有0|0时结果是0,否则是1
^相同二进制位进行^ 运算,结果是0;1^1=0, 00=0,不相同二进制位 运算结果是1。1^0=1, 0^1=1
~正数取反,各二进制码按补码各位取反,负数取反,各二进制码按补码各位取反

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/weixin_44702189/article/details/109080235

Java实现人力资源管理系统-爱代码爱编程

学习Java实现人力资源管理系统,本文有该系统的功能截图,和数据库设计SQL语句供大家参考 1.人力资源管理系统背景 本系统模拟人力资源管理系统业务开发。 2.人力资源管理系统技术架构 主要技术 Spring、SpringMVC、Mybatis JSP、JSTL、jQuery、HTML、CSS、JS Mysql bootstrap 开发工具和环境

设计模式——备忘录模式-爱代码爱编程

定义 在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样以后就可以将该对象恢复到原先保存的状态 换句话说,当我们正常需要将一个对象恢复到前者的状态时,我们必须要直到该对象内部封装的细节。但是这样很明显会使得两个对象之间的耦合过高,是不可取的,因此我们需要一个备忘录来对数据的状态进行记录,从而降低对象之间的耦合关系

HDFS数据流以及NameNode,SecondNameNode,DataNode工作机制-爱代码爱编程

HDFS写数据流程 如图所示,所要做的动作是吧ss.avi上传 首先客户端先创建一个FileSystem对象之后向NameNode请求上传文件,NameNode检查目标文件是否已存在,父目录是否存在。NameNode返回是否可以上传。客户端请求上传第一个Block(0-128M)上传到哪几个DataNode服务器上。NameNode返回dn1,dn2

获取某天的最大最小时间;获取数据库最大id;数据库的批量插入-爱代码爱编程

获取某天的最大最小时间: // 获取前一天凌晨0点0分0秒Date Calendar calendar1 = Calendar.getInstance(); calendar1.set(calendar1.get(Calendar.YEAR), calendar1.get(Calendar.MONTH), calendar1.get(Calendar.DA

数组初始化-爱代码爱编程

package cn.test; /** * @author: zhao * @createDate: 2020/10/14 * @description: 这个类用于测试数组的创建方式。 */ public class InitArray { public static void main(String[] args) {

Arrays常用方法介绍-爱代码爱编程

package cn.test; import java.util.Arrays; /** * 以下介绍Arrays的常用操作方法 都是static 的静态方法 * int binarySearch() 二分查找,返回下标 * 常用格式: 最后一个参数都是要查找value的值 * binarySearch(数组, key

JAVA学习日记: 注解(5)-爱代码爱编程

今天学习了的主要内容: 1.什么是注解处理器 2.如何使用其来读取信息 注解处理器: 注解处理器能够在程序运行期间将代码中的一些使用注解的信息运用反射机制来得到它,值得一提的是,注解它本身不会影响编译。 注解处理器的使用前提: 该注解有@Retention(RetentionPolicy.RUNTIME) 上代码! Test类(主

python基础第一篇之变量篇-爱代码爱编程

python基础--第一篇 概念和基础变量的定义变量的基本类型和声明可变和不可变类型如何声明一个变量变量的命名规则变量声明字符串的声明整数的声明变量的多对多赋值变量声明的‘坑’! 概念和基础 变量的定义 由程序员或用户定义的量,且在程序中可能发生改变的。 变量的基本类型和声明 字符串-string-一切使用单双引号包裹的东西皆为字符串

当阿里的Dubbo遇上Arthas,会碰撞出什么样的火花?-爱代码爱编程

推荐阅读: 这套Github上40K+star学习笔记,可以帮你搞定95%以上的Java面试 毫不夸张的说,这份SpringBoot学习指南能解决你遇到的98%的问题 给跪了!这套万人期待的 SQL 成神之路PDF,终于开源了 Apache Dubbo是Alibaba开源的高性能RPC框架,在国内有非常多的用户。 Arthas是Alibaba开源

Java虚拟机(JVM)面试题-爱代码爱编程

这阵子在准备找寒假实习(java后台开发),因为自己是转专业的,基础不是很牢固,所以打算通过复习java常用的面试题来巩固。 继早上看完的Java集合容器的面试题,下午+晚上看完了JVM基础,内容不算很多,所以看得比较快,参考链接是 [ Java虚拟机(JVM)面试题(2020最新版) ](https://thinkwon.blog.csdn.net/a

String str=“i”与 String str=new String(“i”)一样吗?-爱代码爱编程

微信搜索《Java鱼仔》,每天一个知识点不错过 (一)每天一个知识点 String str=“i”与 String str=new String(“i”)一样吗? (二)结论 不一样,使用String str=“i”,java虚拟机会把它分配到常量池中,而 String str=new String(“i”)创建了一个对象,会被分到堆内存

numpy中设置小数位数的方法-爱代码爱编程

第一种方法:使用set_printpoints()函数 import numpy as np #导入库 data = np.random.randn(5) #生成5个随机数,小数位数默认为8位 print(data) Out[2]:array([-0.89613479, -0.17105415, -0.4228491 , 1.30445579, 0.