标签: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 a = ‘a‘
,char 可以和整数互相转换,如果字符 a
也可以写成char a = 97
。也可以用十六进制表示char a = ‘\u0061‘
。
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,依次类推),获得字符串中的指定字符。
方法 | 返回值 | 功能描述 |
---|---|---|
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<<2 得到 240,即 1111 0000 |
>> | 按位右移 | 左操作数按位右移右操作数指定的位数 | 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 < b) 为 true |
>= | 大于等于 | 判断左操作数的值是否大于或等于右操作数的值,如果是那么条件为真 | (a >= b) 为 false |
<= | 小于等于 | 判断左操作数的值是否小于或等于右操作数的值,如果是那么条件为真 | (a <= b) 为 true |
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 < data.length; 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;
}
例子:
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 < 100; 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
修饰属性:则该类的属性不会进行隐式的初始化(类的初始化属性必须有值)或在构造方法中赋值(但只能选其一)private,protected,public
private
修饰的属性或者方法,只能在当前类中访问或者使用。如果想在主函数中使用,只能通过 getter
和 setter
方法进行调用默认
是什么修饰符都不加,默认在当前类中和同一包下都可以访问和使用。protected
修饰的属性或者方法,对同一包内的类和所有子类可见。public
修饰的属性或者方法,对所有类可见
Java中的类:
数组:import java.util.Arrays;
方法 | 描述 |
---|---|
<T> List<T> 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虚拟机会为其分配数据类型实际占用的内存空间,而对于引用类型变量,他仅仅是一个指向堆区中某个实例的指针。
例子:
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 指定的位置结束 |
构造方法 | 说明 |
---|---|
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();
标签:pst 简单 语法 基本类型 cap case 运算符 cte 排序
原文地址:https://www.cnblogs.com/dieyingmanwu/p/12602517.html