本文已参与「新人创作礼」活动,一起开启掘金创作之路
一.变量
变量使用:
(1)变量名由字母,数字,_,$组成。数字不能开头;
(2)变量严格区分大小写;
(3)不能使用关键字;
(4)可以使用中文和拼音,不建议用;
(5)变量名见名知意,采用驼峰命名法(第一个单词全小写,之后每一个单词首字母大写);
二.数据类型
1.数据类型
(1)整数类型:
byte(8位) (-128—127) 0111 1111 127 1111 1111 -1 1000 0000 -128
short(16位) (-32768—32767)
int(32位) (-2147483648—2147483647)
long(64位) (-9223372036854775808—9223372036854775807)
long a=3000000000L; //如果直接量超过int的范围,在直接量后面加L;
(2)浮点类型:直接量默认是double类型
float double
float f=3.14F; //如果赋值的类型是float类型,在直接量后面加F;
科学计数写法:3.14E1 == 3.14*10^1
(3)字符类型:
char(无符号16位) //汉字,字母,数字,和符号都有对应的编码;
'' 内容只能写1个;必须要有内容;对变量赋值可以是数字( 0—65535)
转义字符 '\' '\n'
(4)布尔类型:
boolean true false
2.引用数据类型
除8种基本数据类型以外,由类,接口,数组等作为变量的数据类型,称为引用数据类型;
三.常用运算符
1.算数运算符: + - * / % ++ --;
例:int q=2; q=q++; q=2;
int p=2,w; w=p++ + ++p; p=4;w=6;
2.关系运算符: > < >= <= == !=
3.逻辑运算符: && || !
4.赋值运算符: = += -= *= /= %=
5.字符串连接运算符:+与""有关,表示字符串连接;
System.out.println(10+20+""+30); //3030
6.三目运算符: 条件表达式?表达式1:表达式2
四.输入、输出和工具类
1.输入
Scanner类的使用:创建new,导包import java.util.Scanner;
Scanner sc=new Scanner(System.in);
int b=sc.nextInt(); //调用方法,输入int类型
String str=sc.next(); //调用方法,输入String类型
2.输出
System.out.println(b);
3.快捷键
自动补全的快捷键:Alt+/
格式化:Ctrl+Shift+F
自动导包的快捷键:Ctrl+Shift+O
删除光标所指的一行:Ctrl+D
4.工具类
// Calendar工具类,获得当前时间
Calendar time = Calendar.getInstance();
int year = time.get(Calendar.YEAR);
int hour = time.get(Calendar.HOUR_OF_DAY);
int minute = time.get(Calendar.MINUTE);
//Random工具类;
Random r=new Random();
int i=r.nextInt(100);//产生[0,100)范围的随机数
五. 数组
1.动态初始化
数据类型[] 变量名=new 数据类型[数组长度];
double[] d=new double[100];
//Arrays工具类,看默认值;
System.out.println(Arrays.toString(d));
2.静态初始化
数据类型[] 变量名 = {初始化};
double[] arry1={1,2,3};
3.带new的静态初始化
数据类型[] 变量名 = new 数据类型[]{初始化};
double[] arry2=new double[]{1,2,3};
4.求数组的长度/大小:数组名.length
System.out.println(arry1.length);
5.数组名[下标]
6.数组的复制
/*src: 原数组(要被复制的数组);
*srcPos: 原数组的起始下标;
*dest: 目标数组;
*destPos: 目标数组的起始下标;
*length: 要复制的长度;
*/
System.arraycopy(src, srcPos, dest, destPos, length);
/*original 原数组
* newLength 目标数组的长度
*/
double[] arry=Arrays.copyOf(original, newLength);//返回一个目标数组;
7.数组的排序
冒泡排序:
int[] arry = { 12, 31, 2, 4, 65 };
int temp;
for (int i = 0; i < arry.length - 1; i++) {
for (int j = 0; j < arry.length - 1 - i; j++) {
if (arry[j] > arry[j + 1]) {
temp = arry[j + 1];
arry[j + 1] = arry[j];
arry[j] = temp;
}
}
}
//Arrays.sort(arry);
8.二维数组
六. 方法
1.全局变量:
作用域:在类体的任何位置都可以使用;
2.局部变量:
在main方法或自定义的方法中定义的变量为局部变量,作用域:在当前的方法中使用;
3.语法
public (static) 返回值 函数名(){}
public static void study() {
System.out.println("I love learning ");
}
4.方法重载
5.String类常用方法
(1)length() 求字符串的长度
(2)charAt(int index) 求字符串某一位置对应的字符
(3)substring(int beginindex) 提取从beginindex开始到末尾的子串
substring(int beginIndex,int endIndex) 提取从开始下标到结束下标的子串
(4)concat() 字符串连接 和'+'功能一样
(5)indexOf(char c)查找第一次出现c字符的位置
indexOf(char c,int fromindex)从fromindex位置开始查找第一次出现c字符的位置
indexOf(String str) 查找第一次出现str字符串的位置
indexOf(String str,int fromindex)从fromindex
位置开始查找第一次出现str字符串的位置
(6)toLowerCase() 转小写
toUpperCase() 转大写
(7)replace(char old,char new)
replace(String old,String new)
(8)trim()去掉字符串两端的空格,对于字符串中间的空格不做处理
(9)startswity(String str) 判断字符串是否以str开始
endsWith(String str)判断字符串是否以str结尾
(10)contains(String str)判断是否包含字符串str
(11)split(String str) 返回String[] 根据str进行拆分,拆分成多个子串并存储到字符串数组里