在善知堂学java基础笔记
java
1、java SE
标准版:各应用平台的基础,桌面开发和低端商务应用的解决方案。
java EE
企业版:以企业为环境而开发应用程序的解决方案。
2、java 特性
面向对象的编程语言
可跨平台运行的环境
吸收了c/c++语言的优点
安全性较高。
3、JDK--java 开发工具集
bin目录:存放java的编译器,解释器等工具;
lib目录:存放java的类库文件;
JRE--java 运行时环境
JVM--java 虚拟机
4、PATH:用于指定操作系统的可执行指令的路径;
CLASSPATH:java虚拟机在运行某个类时会按classpath指定的目录顺序去查找这个类。
5、一个源文件只能声明一个外部类
UE文件编辑工具
反编译工具
混淆器
6、软件开发流程
1、可行性分析
2、需求分析--对待开发的软件提出的需求进行分析;
3、系统设计
4、系统实现
5、软件测试
6、运行和维护
7、面向对象的程序设计
对象 类
默认构造器
父类 super();
this.show;调用自己;
super.show;调用父类;
8、java char字符2个字节
gb2312-->gbk-->gb18030
Unicode(utf-8 utf-16)
9、数据类型
8种基本数据类型(整数类型 非整数类型) 在栈里
引用数据类型(类class 接口interface 数组)在堆里
精确运算BigDecimal
10、整形方法
Integer.tobinaryString() 2进制转换
Integer.toHexString() 16进制转换
位移运算 2>>1; 面试问题:2的n次方最快的算法
“abc”+“132”+“++”;老版本是5个对象 优化之后(StringBuider)新版本一个对象
11、if、for、while、do while语句循环;
break;continue
12、数组
二维数组、多维数组、拷贝数组
冒泡排序;
练习:
1、输出数组信息
package leidian;
public class q{
public static void main(String[] args) {
System.out.println("my name is caoye");
String[] cy = new String[3];
cy[0]="hello";
cy[1]="Welcome to Core Java";
cy[2]="and Gary Gorne";
for(String a:cy)
System.out.println(a);
}
}
2、结合\n换行,\t制表位空几格,print()也是回车换行,打印出自己出自己的名字和心!如图!
* * caoye * *
* *
* *
* *
* *
* *
* *
*
3、求圆柱体的体积
package leidian;
public class q{
public static void main(String[] args) {
int r=5;
int h=20;
final double pai=3.14;
System.out.println("半径为:"+r+"高为:"+h+"的圆柱体体积为:"+pai*r*r*h);
}
}
或者
package leidian;
public class q{
public static void main(String[] args) {
int r=5;
int h=20;
double n = a(r,h);
System.out.println("半径为:"+r+"高为:"+h+"的圆柱体体积为:"+n);
a(r,h);
}
public static double a(int x,int y){
double v;
final double pai=3.14;
v=pai*x*x*y;
return v;
}
}
3、初始化两个数将这两个数据交换位置后,输出显示交换前后的数据。
package leidian;
public class q{
public static void main(String[] args) {
int x=10;
int y=20;
System.out.println("交换前数据:"+x+" "+y);
int temp=x;
x=y;
y=temp;
System.out.println("交换后数据:"+x+" "+y);
}
}
4、任意定义一个五位整数,求各个位数上的数的和!
package leidian;
public class q{
public static void main(String[] args) {
int a=12345;
int sum=12345%10+(12345/10)%10+(12345/100)%10+(12345/1000)%10+12345/10000;
System.out.println("五位数各个位数的和为:"+sum);
}
}
5、写出类似于棋盘的多维数组
package leidian;
public class q{
public static void main(String[] args) {
int[][] aa={{1,2,3},{4,5,6},{7,8,9}};
for(int i=0;i<3;i++){
for(int j=0;j<3;j++){
System.out.print(aa[i][j]);
}
if(i<3){
System.out.println(" ");
}
}
}
}
6、冒泡排序
package leidian;
public class q{
public static void main(String[] args) {
/*冒泡排序*/
int[] a={12,15,8,151,65};
System.out.println("排序前数组中的数据为:");
for(int i=0;i<a.length;i++){
System.out.print(a[i]+"\t");
}
int temp;
for(int i=0;i<a.length-1;i++){
for(int j=0;j<a.length-i-1;j++){
if(a[j]<a[j+1]){
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
System.out.println("\n排序后数组中的数据为:");
for(int i=0;i<a.length;i++){
System.out.print(a[i]+"\t");
}
System.out.println("\n从小到大排序数组数据为:");
for(int i=a.length-1;i>=0;i--)
System.out.print(a[i]+"\t");
}
}
浙公网安备 33010602011771号