标签:pst 简单 语法 基本类型 cap case 运算符 cte 排序
数据类型:
整数
byte
、short
、int
、long
四种基本数据类型表示整数,需要注意的是 long
类型,使用 long
修饰的变量需要在数值后面加上 L 或者 l,比如 long num = 1L;
,一般使用大写 L
,为了避免小写 l
与数值 1
混淆。
浮点数
float
和 double
类型表示浮点数,即可以表示小数部分。需要注意的是 float
类型的数值后面需要加上 F
或者 f
,否则会被当成 double
类型处理。double
类型的数值可以加上 D
或 d
,也可以不加。
char 类型
char 类型用于表示单个字符。需要将字符用单引号括起来char a = ‘a‘
,char 可以和整数互相转换,如果字符 a
也可以写成char a = 97
。也可以用十六进制表示char a = ‘\u0061‘
。
boolean 类型
boolean
类型(布尔类型)用于表示真值 true
或者假值 false
,Java 中布尔值不能和整数类型或者其它类型互相转换。
String
String s0 = "abc";
String s1 = new String("abd");
1.字符串标识符.length();
返回一个 int
类型的整数(字符串中字符数,中文字符也是一个字符)。
2.equals()
方法,该方法的作用是判断两个字符串对象的内容是否相同。如果相同则返回 true
,否则返回 false
。
equalsIgnoreCase()
意义同上 忽略大小写
使用 "=="
比较的是两个对象在内存中存储的地址是否一样。
3.字符串连接有两种方法:
- 使用
+
,比如 String s = "Hello " + "World!"
。
- 使用
String
类的 concat()
方法
4.charAt()
方法的作用是按照索引值(规定字符串中第一个字符的索引值是 0,第二个字符的索引值是 1,依次类推),获得字符串中的指定字符。
delete(int a,int b)有两个参数,使用时删除索引从a开始(包含a)到b(不包含b)的所有字符;
deleteCharAt(int a)只有一个参数,使用时删除索引为a的字符;
字符串常用提取方法
方法 |
返回值 |
功能描述 |
indexOf(char ch) |
int |
搜索字符 ch 第一次出现的索引 |
indexOf(String value) |
int |
搜索字符串 value 第一次出现的索引 |
lastIndexOf(char ch) |
int |
搜索字符 ch 最后一次出现的索引 |
lastIndexOf(String value) |
int |
搜索字符串 value 最后一次出现的索引 |
substring(int index) |
String |
提取从位置索引开始到结束的字符串 |
substring(int beginindex, int endindex) |
String |
提取 beginindex 和 endindex 之间的字符串部分 |
trim() |
String |
返回一个前后不含任何空格的调用字符串的副本 |
位运算符
位运算符 |
名称 |
描述 |
举例 |
& |
按位与 |
如果相对应位都是 1,则结果为 1,否则为 0 |
(a&b),得到 12,即 0000 1100 |
丨 |
按位或 |
如果相对应位都是 0,则结果为 0,否则为 1 |
( a 丨 b )得到 61,即 0011 1101 |
^ |
按位异或 |
如果相对应位值相同,则结果为 0,否则为 1 |
(a^b)得到 49,即 0011 0001 |
~ |
按位补 |
翻转操作数的每一位,即 0 变成 1,1 变成 0 |
(?a)得到 -61,即 1100 0011 |
|
按位左移 |
左操作数按位左移右操作数指定的位数 |
a
|
>> |
按位右移 |
左操作数按位右移右操作数指定的位数 |
a>>2 得到 15 即 1111 |
>>> |
按位右移补零 |
左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充 |
a>>>2 得到 15 即 0000 1111 |
逻辑运算符
逻辑运算符 |
名称 |
描述 |
类型 |
举例 |
&& 或 & |
与 |
当且仅当两个操作数都为真,条件才为真 |
双目运算符 |
(a && b) 或 (a & b) 为假 |
|| 或 | |
或 |
两个操作数任何一个为真,条件为真 |
双目运算符 |
(a || b) 或 (a | b) 为真 |
! |
非 |
用来反转操作数的逻辑状态。如果条件为真,则逻辑非运算符将得到假 |
单目运算符 |
(!a)为假 |
^ |
异或 |
如果两个操作数逻辑相同,则结果为假,否则为真 |
双目运算符 |
(a ^ b) 为真 |
比较运算符
比较运算符 |
名称 |
描述 |
举例 |
== |
等于 |
判断两个操作数的值是否相等,如果相等则条件为真 |
(a == b) 为 false |
!= |
不等于 |
判断两个操作数的值是否相等,如果值不相等则条件为真 |
(a != b) 为 true |
> |
大于 |
判断左操作数的值是否大于右操作数的值,如果是那么条件为真 |
(a > b) 为 false |
|
小于 |
判断左操作数的值是否小于右操作数的值,如果是那么条件为真 |
(a
|
>= |
大于等于 |
判断左操作数的值是否大于或等于右操作数的值,如果是那么条件为真 |
(a >= b) 为 false |
|
小于等于 |
判断左操作数的值是否小于或等于右操作数的值,如果是那么条件为真 |
(a
|
break,continue
break
关键字经常用在条件和循环语句中,用来跳出循环语句。
continue
关键字的作用是跳过循环体中剩余的语句执行下一次循环。
数组:
使用数组前要声明数组。数据类型[ ] 数组名;
public class JudgePrime {
public static void main(String[] args){
int [] ages = {12, 18, 9, 33, 45, 60};
int i = 1;
for(int age:ages){
System.out.println("数组中第"+i+"个元素是"+age);
i++;
}
}
}
二维数组:
数据类型 [][] 数组名 = new 数据类型[行的个数][列的个数];
//或者
数据类型 [][] 数组名;
数组名 = new 数据类型[行的个数][列的个数];
//也可以
数据类型 [][] 数组名 = {
{第一行值1,第一行值2,...}
{第二行值1,第二行值2,...}
...
}
//二维数组的赋值和访问,跟一维数组类似,可以通过下标来逐个赋值和访问,注意索引从 0 开始
数组名[行的索引][列的索引] = 值;
例子:计算平均成绩:
public class AverageScore {
public static void main(String[] args) {
int[] data = {61, 57, 95, 85, 75, 65, 44, 66, 90, 32};
int sum = 0;
for (int i = 0; i ) {
sum += data[i];
}
System.out.println("平均成绩:" + sum / data.length);
}
}
循环读取数据的方法
循环读取String数据,当输入exit时退出循环
while (!in.hasNext("exit")) {
System.out.println(in.nextLine());
}
//关闭输入
in.close();
另一种方法
if ((data[i] = in.nextLine()).equals("end")) {
break;
}
例子:
- 获取用户的输入信息(字符串)。
- 当用户输入 end 时,结束输入并打印用户之前输入的所有信息(输入的信息数量不超过 100 个)。
import java.util.Scanner;
public class InputTest {
public static void main(String[] args) {
String[] data = new String[100];
Scanner in = new Scanner(System.in);
for (int i = 0; i ) {
if ((data[i] = in.nextLine()).equals("end")) {
break;
}
}
for (String a : data) {
if (a.equals("end")) {
break;
}
System.out.println(a);
}
}
}
创建对象的语法如下:
类名 对象名 = new 类名();
public class People {
double height;
int age;
int sex;
void cry(){
System.out.println("wozaiku");
}
void laugh(){
System.out.println("wozaixiao");
}
void printBaseMes(){
System.out.println("wodeshengaoshi"+height+"cm");
System.out.println("wodenianlingshi"+age+"sui");
if(this.sex==0)
System.out.println("woshinanxing");
else
System.out.println("woshinvxing");
}
}
public class NewObject {
public static void main(String[] args) {
People LiLei = new People(); //创建一个People对象LiLei
LiLei.height =170;
LiLei.age = 20;
LiLei.sex = 1;
LiLei.printBaseMes();
}
}
成员变量和局部变量:
成员变量就是指的对象的属性,是在类中定义,来描述对象的特性。
局部变量,它是由类的方法定义,在方法中临时保存数据。
关键字:
final
关键字可以修饰类、方法、属性和变量
-
final
修饰类,则该类不允许被继承,为最终类
-
final
修饰方法,则该方法不允许被覆盖(重写)
-
final
修饰属性:则该类的属性不会进行隐式的初始化(类的初始化属性必须有值)或在构造方法中赋值(但只能选其一)
- final 修饰变量,则该变量的值只能赋一次值,即常量
private,protected,public
-
private
修饰的属性或者方法,只能在当前类中访问或者使用。如果想在主函数中使用,只能通过 getter
和 setter
方法进行调用
-
默认
是什么修饰符都不加,默认在当前类中和同一包下都可以访问和使用。
-
protected
修饰的属性或者方法,对同一包内的类和所有子类可见。
-
public
修饰的属性或者方法,对所有类可见
Java中的类:
数组:import java.util.Arrays;
方法 |
描述 |
List asList(T... a) |
返回由指定数组构造的 List |
void sort(Object[] a) |
对数组进行排序 |
void fill(Object[] a, Object val) |
为数组的所有元素都赋上相同的值 |
boolean equals(Object[] a, Object[] a2) |
检查两个数组是否相等 |
int binarySearch(Object[] a, Object key) |
对排序后的数组使用二分法查找数据 |
java数据类型中的坑:string为什么不是八种数据类型的一个:那八种数据类型是基本类型,而string是引用数据类型。
基本类型仅表示简单的数据类型,引用类型可以表示复杂的数据类型,还可以操作这种数据类型的行为
java虚拟机处理基础类型与引用类型的方式是不一样的,对于基本类型,java虚拟机会为其分配数据类型实际占用的内存空间,而对于引用类型变量,他仅仅是一个指向堆区中某个实例的指针。
例子:
- 使用 Arrays 将数组 [6, 17, 92, 32, 58, 22, 84, 66, 36, 33] 进行排序。
- 找出排序后 33 所在的位置。
import java.util.Arrays;
public class ArraysTest {
public static void main(String[] args) {
int[] arr = {6, 17, 92, 32, 58, 22, 84, 66, 36, 33};
Arrays.sort(arr);
System.out.println(Arrays.binarySearch(arr, 33));
}
}
StringBuilder :
构造方法 |
说明 |
StringBuilder() |
构造一个其中不带字符的 StringBuilder,其初始容量为 16 个字符 |
StringBuilder(CharSequence seq) |
构造一个 StringBuilder,它包含与指定的 CharSequence 相同的字符 |
StringBuilder(int capacity) |
构造一个具有指定初始容量的 StringBuilder |
StringBuilder(String str) |
并将其内容初始化为指定的字符串内容 |
方法 |
返回值 |
功能描述 |
insert(int offsetm,Object obj) |
StringBuilder |
在 offsetm 的位置插入字符串 obj |
append(Object obj) |
StringBuilder |
在字符串末尾追加字符串 obj |
length() |
int |
确定 StringBuilder 对象的长度 |
setCharAt(int index,char ch) |
void |
使用 ch 指定的新值设置 index 指定的位置上的字符 |
toString() |
String |
转换为字符串形式 |
reverse() |
StringBuilder |
反转字符串 |
delete(int start, int end) |
StringBuilder |
删除调用对象中从 start 位置开始直到 end 指定的索引(end-1)位置的字符序列 |
replace(int start, int end, String str) |
StringBuilder |
使用一组字符替换另一组字符。将用替换字符串从 start 指定的位置开始替换,直到 end 指定的位置结束 |
Calendar:
GregorianCalendar 类
构造方法 |
说明 |
GregorianCalendar() |
创建的对象中的相关值被设置成指定时区,缺省地点的当前时间,即程序运行时所处的时区、地点的当前时间 |
GregorianCalendar(TimeZone zone) |
创建的对象中的相关值被设置成指定时区 zone,缺省地点的当前时间 |
GregorianCalendar(Locale aLocale) |
创建的对象中的相关值被设置成缺省时区,指定地点 aLocale 的当前时间 |
GregorianCalendar(TimeZone zone,Locale aLocale) |
year - 创建的对象中的相关值被设置成指定时区,指定地点的当前时间 |
TimeZone 类
//太平洋时区的 ID 为 PST
TimeZone tz0 = TimeZone.getTimeZone("PST")
//getDefault()可以获取主机所处时区的对象
TimeZone tz1 = TimeZone.getDefault()
//调用Locale类的构造方法
Locale l0 = new Locale(String language)
Locale l1 = new Locale(String language, String country)
Locale l2 = new Locale(String languge, String country, String variant)
//调用Locale类中定义的常量
Locale l1 = Locale.CHINA
Date:
构造方法 |
说明 |
Date() |
构造一个 Date 对象并对其进行初始化以反映当前时间 |
Date(long date) |
构造一个 Date 对象,并根据相对于 GMT 1970 年 1 月 1 日 00:00:00 的毫秒数对其进行初始化 |
Scanner:
import java.util.Scanner;
Scanner in = new Scanner(System.in);
int m = in.nextInt();
int n = in.nextInt();
java基础知识
标签:pst 简单 语法 基本类型 cap case 运算符 cte 排序
原文地址:https://www.cnblogs.com/dieyingmanwu/p/12602517.html