黑马程序员技术交流社区
标题:
学习分享
[打印本页]
作者:
Java12雷子
时间:
2018-4-1 18:28
标题:
学习分享
java12期萌新一枚,基础班即将结业了,在基础班的这半个多月时间里有不少收获,这里和大家分享一下:
1.与计算机进行交互产生的第一个程序"helloworld!"
public class {
public static void main(String[] args) {
System.out.println("helloworld!");
}
}
相信所有学计算机语言的同志们与计算机交流输入的第一个程序.刚开始还不是很理解这样一段程序为什么会在控制台输出一句helloworld!
感觉很新奇很有意思,随着不断的学习慢慢的学习,了解,掌握到这里面的知识.
2.JVM.JRE .JDK的区别
JVM:即java虚拟机(JVM Java Virtual Machine),java程序需要运行在虚拟机上,不同平台有自己的虚拟机,通过虚拟机来实现Java的跨平台功能.
JRE: JRE:JVM+类库。
包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。
JDK:JDK:JRE+JAVA的开发工具。
是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了JRE。所以安装了JDK,就不用在单独安装JRE了。其中的开发工具:编译工具(javac.exe) ?打包工具(jar.exe)等
3.八大基本数据类型
整型:byte short int long
浮点型:float double
字符型:char
布尔型:boolean
(后面的学习过程中还逐步接触到引用数据类型,如:数组,对象,集合)
4.关键字
a.关键字概述
–被Java语言赋予特定含义的单词(如上面程序中的public,static,vodi,class....)
b.关键字特点
–组成关键字的字母全部小写
–常用的代码编辑器,针对关键字有特殊的颜色标记,非常直观,所以我们不需要去死记硬背,在今后的学习中重要的关键字也会不断的出来。
5.运算符
–算术运算符* ,+,-,*,/,%,++,-- ;("+"加号在进行算数运算时作为算术运算符,在字符串中还可以表示为连接符)
–赋值运算符 = , +=,-=,*=,/=,%=;(将等号右边的结果赋值给等号左边的变量)
–关系运算符==,!=,>,>=,<,<=;(判断结果为boolean类型)
–逻辑运算符 & | ! && || ;(&&,|| 短路语句在进行判断时&&左边为false时则右边不执行,||左边为true时右边也不执行)
–三元运算符 判断语句? 输出a(如果结果为true输出这里):输出b(如果结果为false输出这里) ;
–三元运算符常用来比较数字大小,例如a > b ? a : b;
6.键盘录入Scanner,和随机数Random
Scanner:
A:导包(位置通常放在包的下面,类的上面)
import java.util.Scanner;
B:创建对象
Scanner sc = new Scanner(System.in);
C:接收数据
int x = sc.nextInt();//接收输入的int类型的数据
String s = sc.nextLine();//接收输入的字符串类型数据
Random:
A:导包(位置通常放在包的下面,类的上面)
import java.util.Random;
B:创建对象
Random r = new Random();
C:生生成随机数
int x = r.nextInt(100);//生成0~99的随机数,包含0和99;
两者之间的区别记忆,Scanner是用来接收外界输入的,Random是计算机本身通过程序产生给定范围内的随机数的;
7.循环语句;
(for while)
for(int i = 0//定义初始变量; i < 10//条件判断语句; i++//控制条件语句){
语句体
}
while(关系表达式){
语句体
}
do{
语句体
}while(关系表达式);
do...while 和 for while 的区别是,当关系表达式不成立时,do...while也会执行一次,if while 不会执行
for 和 while的区别是, for的初始化语句可以在循环语句内定义,while的初始化语句只能循环语句外定义
8.顺序控制语句:
–只能用在循环语句内和switch语句中 作用:跳出循环语句或者switch语句
–continue: 只能用在循环语句 作用:跳过当前循环,进行下一次循环
–return: 存在方法内 作用: 跳出方法
9.数组的定义格式
A.一维数组
–1数组概念
数组是存储同一种数据类型多个元素的容器。
数组既可以存储基本数据类型,也可以存储引用数据类型。
–2数组的定义格式
格式1:数据类型[] 数组名;
格式2:数据类型 数组名[];
注意:这两种定义做完了,数组中是没有元素值的。
–3数组的初始化
数组初始化概述:
Java中的数组必须先初始化,然后才能使用。
所谓初始化:就是为数组中的数组元素分配内存空间,并为每个数组元素赋值。
–4数组的初始化方式
动态初始化:初始化时只指定数组长度,由系统为数组分配初始值
格式:数据类型[] 数组名 = new 数据类型[数组长度];
数组长度其实就是数组中元素的个数。
举例:
int[] arr = new int[3];
解释:定义了一个int类型的数组,这个数组中可以存放3个int类型的值。2.7.2二维数组格式
B.二维数组
数据类型[][] 数组名;
数据类型 数组名[][]; 不推荐
数据类型[] 数组名[]; 不推荐
初始化方式
数据类型[][] 变量名 = new 数据类型[m][n];
数据类型[][] 变量名 = new 数据类型[][]{{元素…},{元素…},{元素…}};
简化版格式:数据类型[][] 变量名 = {{元素…},{元素…},{元素…}};
10.方法
方法就是完成特定功能的代码块;
1.方法格式:
修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2…) {
函数体;
return 返回值;
}
2.方法格式解释:
修饰符 目前记住 public static
返回值类型 用于限定返回值的数据类型
方法名 一个名字,为了方便我们调用方法
参数类型 用于接收调用方法时传入的数据的类型
参数名 用于接收调用方法时传入的数据的变量
方法体 完成功能的代码
return 结束方法,把返回值带给调用者
3.写方法时的两个明确:
1.回值类型 明确功能结果的数据类型
2.参数列表 明确有几个参数,以及参数的类型
11.Strig和StringBuilder类的应用;
String(String original);
把字符串数据封装成字符串对象
String(char[] value);
把字符数组封装成字符串对象
String(char[] value, int index, int count);
把字符数组中的一部分封装成字符串对象,[index, count)
boolean equals(Objcet obj);
比较字符串的内容是否相同
boolean equalsIgnoreCase(String str);
比较字符串的内容是否相同,忽略大小写
boolean startsWith(String str);
判断字符串对象是否以指定的str开头
boolean endsWith(String str);
判断字符串对象是否以指定的str结尾
int length();
获取字符串的长度,其实就是字符个数
char charAt(int index);
获取指定索引处的字符
int indexOf(String str);
获取str在字符串对象中第一次出现的索引
String substring(int strat);
从start开始截取字符串
String substring(int strat, int end);
从start开始截取字符串,到end结束
char[] toCharArray();
把字符串转换为字符数组
String toLowerCase();
把字符串转成小写字符串
String toUpperCase();
把字符串转换为大写字符串
String trim();
去除字符串两端空格
String[] split(Sring str);
按照指定符号分割字符串
String arrayToString(int[] arr);
数组转换成字符串
public int capacity();
返回当前容量
public int length();
返回当前长度
StringBuilder sb = new StringBuilder();
StringBuilder sb = new StringBuilder(Sring str);
public StringBuilder append(任意类型);
public StringBuilder reverse();
StringBuilder sb = new StringBuilder();
String str = sb.toString();
StringBuilder sb = new StringBuilder(Sring str);
sb.delete(int start, int end);
好了这次就分享到这里,今天写学生管理系统,集合的运用好不是很熟悉就不和大家分享了
作者:
Yin灬Yan
时间:
2018-4-2 12:44
我来占层楼啊
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2