目录
1.Java中的基本数据类型
2.运算符
2.1逻辑运算符
2.2位运算符
2.3条件运算符
3.程序逻辑控制
3.1顺序结构
3.2分支结构
3.3循环
3.4输入输出
4.方法的使用
5.数组
6.类和对象
7.继承和多态
8.抽象类和接口
9.String
前言:JavaSE是整个Java学习的基础,它包含了Java的语法部分。我在这里给大家详细总结一下JavaSE的大致内容。希望可以给大家在Java的学习中带来帮助。
在Java中,由Java虚拟机规范提供的Java有八种基本数据类型。以方便我们开发人员在不同业务场景下的使用。
它们分别是byte,short,int,long,float,double.boolean.char。这八种,它们在内存中的大小分别是:
数据类型 | 关键字 | 内存占用 | 范围 |
字节型 | byte | 1 字节 | -128 ~ 127 |
短整型 | short | 2 字节 | -32768 ~ 32767 |
整型 | int | 4 字节 | -2^31~2^31-1 |
长整型 | long | 8 字节 | -2^63~2^63-1 |
单精度浮点数 | float | 4 字节 | 有范围,一般不关注 |
双精度浮点数 | double | 8 字节 | 有范围,一般不关注 |
字符型 | char | 2 字节 | 0 ~ 65535 |
布尔型 | boolean | 没有明确规定 | true 和 false |
关于Java的八种数据类型_java8种数据类型_老cu的博客-CSDN博客
计算机的最基本的用途之一就是执行数学运算。作为一门计算机语言,Java也提供了一套丰富的运算符来操纵变量。Java中运算符可分为以下:算术运算符(+ - */)、关系运算符(< > ==)、逻辑运算符、位运算符、移位运算符以及条件运算符等。其中算术运算符和关系运算符属于是数学基础中的东西。我们在这里不详细展开讲。我们主要讲一下其它的一些运算符。
逻辑运算符主要有三个,分别是&&,||,!。这三个运算符分别代表,并且,或,非。
其中&&和||和别的语言可能有不一样的地方在于,它们会遵循短路求值的特性。即如果是&&,如果运算符前面的式子为假,那么就不会执行后面的式子了。同理,在||中。如果前面的表达式为真,也不会执行后面的表达式了。
位运算符主要有四个: & | ~ ^ ,除 ~ 是一元运算符外,其余都是二元运算符。
位操作表示 按二进制位运算. 计算机中都是使用二进制来表示数据的(01构成的序列), 按位运算就是在按照二进制位的每一位依次进行计算。
1. 按位与 &: 如果两个二进制位都是 1, 则结果为 1, 否则结果为 0.
2. 按位或 |: 如果两个二进制位都是 0, 则结果为 0, 否则结果为 1.
3. 按位取反 ~: 如果该位为 0 则转为 1, 如果该位为 1 则转为 0
4. 按位异或 ^: 如果两个数字的二进制位相同, 则结果为 0, 相异则结果为 1
条件运算符只有一个,它是:
表达式1?表达式2:表达式3
当 表达式1 的值为 true 时, 整个表达式的值为 表达式2 的值;
当 表达式1 的值为 false 时, 整个表达式的值为 表达式3 的值.
详细的可以看我这篇博客:
Java中的运算符_老cu的博客-CSDN博客
按照代码逐行执行即可。
分支结构常见的语法格式有
if(布尔表达式){
// 语句
}
if(
布尔表达式){
// 语句1
}else{
// 语句2
}
if(
布尔表达式1){
// 语句1
}else if(布尔表达式2){
// 语句2
}else{
// 语句3
}
循环结构分别有 while循环,break循环,countinue循环,for循环,do while循环等。
它们分别在不同的环境下发挥不同的作用
在使用输入方法的时候,记得要导入方法对应的包。
而输出的语句有三种,分别是print,printf,println。
【Java】 Scanner类_老cu的博客-CSDN博客
方法类似于C语言中的函数,它是定义在类里面的。方法有方法名,返回值,形参。方法的访问权限等特性。
在Java中方法还可以重载和重写。
当方法自己调用自己的时候,称之为递归,注意:递归一定要有结束语句。
【Java】方法以及方法的使用_老cu的博客-CSDN博客
【Java】递归_老cu的博客-CSDN博客
数组与C语言中的数组使用类似,数组的下标都是从0开始的,在Java中数组的语法格式如下:
int[] array1=new int[10];
int[] array2={1,2,3};
int[] array3=new int[]{1,2,3};
其中Java中会有二维数组,Java中的二维数组诠释了一句话,它是特殊的一维数组,它其中保存了各个行的地址引用。而这些地址指向的是各自所对应的一维数组。
【Java】数组_老cu的博客-CSDN博客
在Java中,万物皆为对象。我们平时所用的方法还有变量等,都存在于类里,而通过实例话一个类,使用new关键字就可以创建出一个关于这个类的对象,一个类可以被实例化为很多份对象。
除了使用static关键字修饰的成员方法和成员变量,它是属于类的,并不是属于对象的。所以它只有一份。详细可以看我的这篇博客:
【Java】类和对象_老cu的博客-CSDN博客
继承和多态是面向对象语言的特性,其中,继承是一个类继承于另一个非final关键字修饰的类,可以继承它的成员变量和成员方法。而多态要用到继承,它是通过向上转型来调用子类中的方法,通过重写父类中的方法并向上转型。我们可以调用不同的方法。很方便。详细可以看我的这篇博客:
【Java】面向对象的三大特性之继承_老cu的博客-CSDN博客
【Java】面向对象的三大特性之多态_老cu的博客-CSDN博客
我个人的理解,这两个有很多的相似之处,都是要被别的类来调用的,并且这些类中的方法必须被重写,不然会报错。我们可以通过接口数组,来实例化不同的实现它的类。这个在一些JavaSE小项目中很实用。
【Java】一篇文章带你彻底弄明白抽象类_老cu的博客-CSDN博客
关于字符串,Java中的String是不可变的,它可以存放任意的元素,本质上还是一个数组。但是在源码中,当我们去修改这个Stirng对象的时候,会返回一个新的对象。所以在重复大量的更改字符串的时候不建议大家总结用String.可以尝试使用一下StringBuffer,和StringBuilder。
字符串常用的方法有以下这些:
查找:
方法 | 功能 |
char charAt(int index) | 返回index位置上字符,如果index为负数或者越界,抛出 IndexOutOfBoundsException异常 |
int indexOf(int ch) | 返回ch第一次出现的位置,没有返回-1 |
int indexOf(int ch, int fromIndex) |
从fromIndex位置开始找ch第一次出现的位置,没有返回-1 |
int indexOf(String str) | 返回str第一次出现的位置,没有返回-1 |
int indexOf(String str, int fromIndex) |
从fromIndex位置开始找str第一次出现的位置,没有返回-1 |
int lastIndexOf(int ch) | 从后往前找,返回ch第一次出现的位置,没有返回-1 |
int lastIndexOf(int ch, int fromIndex) |
从fromIndex位置开始找,从后往前找ch第一次出现的位置,没有返 回-1 |
int lastIndexOf(String str) | 从后往前找,返回str第一次出现的位置,没有返回-1 |
int lastIndexOf(String str, int fromIndex) |
从fromIndex位置开始找,从后往前找str第一次出现的位置,没有返 回-1 |
替换:
方法 | 功能 |
String replaceAll(String regex, String replacement) | 替换所有的指定内容 |
String replaceFirst(String regex, String replacement) | 替换收个内容 |
拆分:
方法 | 功能 |
String[] split(String regex) | 将字符串全部拆分 |
String[] split(String regex, int limit) | 将字符串以指定的格式,拆分为limit组 |
截取:
方法 | 功能 |
String substring(int beginIndex) | 从指定索引截取到结尾 |
String substring(int beginIndex, int endIndex) | 截取部分内容 |
其它方法:
方法 | 功能 |
String trim() | 去掉字符串中的左右空格,保留中间空格 |
String toUpperCase() | 字符串转大写 |
String toLowerCase() | 字符串转小写 |
详细的使用和字符串的一些内容可以看我这篇博客:
【Java】String类_老cu的博客-CSDN博客