开始
1 首先建立文件,文件中有包;然后创建类;选中基本的main。
2目前基本的包有:import java.util.Scanner 与输入有关。
输入的基本形式:【1】Scanner scan=new Scanner(System.in) 创建扫面器
【2】String name =scan.nextLine()或者 int x=scan.nextLine()
3输出 syso/ 这是带着回车。去掉ln就没有回车
4多个空格相当于一个
5运算符优先级,位运算,问号表达式,布尔类型 类型转化
6 x++与++x都有不同的作用。
7//单行注释 /* */多行注释 /** */文档注释
8条件语句 【1】 if else
【2】switch case:后面要有break 最后要有default
9循环语句 【1】while
【2】do while 循环至少进行一次
【3】for
【4】foreach 多用于数组 for的简化版 for(int x:目标数组)
10 跳转语句 【1】break 一般只能打破当前循环,但是可以对循环进行标记用break打破任意循环
【2】continue
【3】return
【11】任意字符或者数都有Unicode码,在前面加上(int)可以转化为数字码
【12】
【1】static
1作为字段 方法 嵌套类的修饰词
2 不要把static放在外部,放在内部
3一个类的静态字段和静态方法能够被其他类共享
【2】初始化块
在{}中写的代码,在构造函数之前执行
【3】静态初始化块 加上一个static 比初始化块执行的更早
【4】final
1常用于接口中定义
2定义类,类中的所有都是不可变得都是final,这种类不能被继承
3定义方法 不能被覆盖
3修饰一个常数 这个数只能赋一次值
===============================================================================
数组
【1】int a[]; String [] name;
【2】int nem[]=new int [10]; 一二都是声明数组,数组比c中的定义广,是相同类型的集合
【3】int nem[]={1,2,3,4,}; 数组的初始化
【4】int duo【】【】 多维数组 多维数组比单维数组占用的内存多
【5】替换数组中的元素,
首先需要 import java.util.Arrays; 然后可以使用函数Arrays.fill(目标数组,替换成什么)
还有Arrays.fill(要进行填充的数组,填充的第一个元素包括,填充的最后一个元素不包括,要储存的值)
【6】对数组进行排序
同样需要上述类,Arrays.sort(进行排序的数组) 注意这是升序
注意:Java中String类的排序是按字典序进行的,数字牌在字母前面,大写字母排在小写字母前面
【7】复制数组
也是在Arrays中 int newshuzu[]=Arrays.copyOf(进行复制的数组,复制后的长度)
注意:长度不够时候,用零来补充
int newshuzu [ ] =Arrays.copyOfRange(进行复制的对象, 开始复制的位置 ,最后的位置不包括)
【8】直接插入法排序
int t;
int j;
for(int i=1;i<a.length;i++){
t=a[i];
for(j=i-1;j>=0&&a[j]>t;j--){
a[j+1]=a[j];
}
a[j+1]=t;
}
【9】 冒泡法排序
【10】比较运算符比较的是内存位置,不适合比较字符串,结果一定是不相等的,但是可用来比较单个字符和整数
===============================================================================================================================
字符串
【1】 String s=new String("good");
【2】 char a[]={‘a','s','d','f'.'q','w','e'}
String s=new String (a,2,4) 等价于 String s=new String ("dfqw")
【3】 String s =s1+" "+s2;
【4】字符串长度 s.length
【5】获取指定字符索引位置 s.indexOf("要搜索的字符")返回第一次出现的位置
s.lastIndexOf("x") 返回最后一次出现的位置 如果不存在返回-1
【6】获取指定索引位置的字符
char x=s.charAt(位置下标)
【7】去除字符串中前导尾部空格 str.trim()
【8】去除所有空格 方法为替换法 用“”替换“ ” s.replaceAll(被替换的,新的)
【9】字符串替换 s.replace(被替换的,新的) 这个是全部替换
s.replaceFirst(被替换的,新的) 只换第一个
【10】判断字符串是否相等
s1.equals(s2) 对大小写有严格的要求
s1.equalsIgnoreCase(s2) 忽略大小写
【11】 字母大小写转换
String new1=s.toLowerCase() String new2=s.toUpperCase()
【12】字符串分割
String[] news=s.split("把什么作为分割点") 将字符串完全分割
String[] news=s.split("把什么作为分割点",分为几分) 不完全分割
注意:分割点可以有多个,用|链接
【13】判断字符串是否为数字字符串
第一步:char[]c=s.toCharArray() 把字符串 转化为字符数组
第二步:Character.isDigit(c[i]) 对数组中每一个进行判断
【14】 日期格式化
需要import java.util.Date;import java.util.Locale; 这两个包
1 s.format(”格式转换符“,格式说明符)
2 s.format(格式化过程中需要的语言环境,“格式转换符”,格式说明符) Date to=new Date();格式说明符就是to
eg:syso(String.format("%ty",to))
【15】时间格式化 日期时间组合格式化
与日期格式化类似 只有第一种方法。除此之外是一样的
【16】一般格式化
String s1=String.format("%d",400/2) 将400/2以十进制显示
。。。。。。。。。。。。。。。。。。。。
%b 布尔类型 %h散列码 %s字符串 %d十进制 %c字符类型 %o八进制 %x十六进制 %e科学计数法 %%就是% %n特定于平台的行分隔符 %a带有效数字和指数的十六进制浮点值
【17】正则表达式
boolean matches(需要满足的类型。。。。)
元字符 . 代表任意字符 所以要正常的点 ,需要转译字符\
【18】字符串生成器
StringBuilder 比string更好用
构建字符串生成器 StringBuilder bulider=new StringBuilder()
1 append 可以向字符生成器中添加字符串 bulider.append(添加的字符串)
还可以将缓存的数据存入字符生成器里面 StringBuffer buffer=new StringBuffer("qwer")
StringBuilder bulider=new StringBuilder()
bulider.append(buffer)
2向指定位置插入字符串 bulider.insert(插入的位置,插入的字符串)
3移除字符生成器中的子字符串 bulider.delete(开始的位置,结束的位置)
4把字符生成器转化为字符串 String s=bulider.toString();
【19】 字符串反转 bulider.reverse(); 只能在字符转换器中翻转,并且如果要用equals需要在转化为字符
字符转换器中的字符串与字符串不相等
【20】compareto 比较字符串大小