一、学习java预备工作:
1、dos命令行
dir:列出当前目录下的文件和文件夹
md:创建目录
rd:删除目录
del:删除文件
exit::推出dos命令行
2、java特性:与平台无关
原理:在运行java应用程序的操作系统上安装java虚拟机(JVM)
3、java语言的环境搭建
一劳永逸方式:电脑->属性->高级->path路径添加jdk路径
临时修改方式set path = %path%;jdk目录
start新开窗口可以保持原来path
4、setclasspath配置同path配置
set classpath=c:\ 最后不加分号则不在当前目录寻找;建议使用
set classpath=.;c:\d:\ "."当前目录
5、文档注释/** */
二、语法基础
1、位运算
例题1:2*8的最有效率的计算方法 2>>3
例题2:对两个整数变量的值进行互换(不需要第三方变量)
方法一:
a= a+b;
b=a-b;
a=a-b;
方法二:
a=a^b;
b=a^b;
a=a^b;
2、三元运算符必须有运算结果
x = a>b?system.out.print(a):b这种是错误的 因为前半部分没有结果
3、swith括号里只能有四种类型byte short int char
4、for循环中间的表达式结果必须是boolean型 否则会编译失败
5、for嵌套练习经典案例:九九乘法表
- class JiuJiu
- {
- public static void main(String[] args)
- {
- for(int x =1 ;x<=9 ;x++)
- {
- for(int y=1;y<=x;y++)
- {
- System.out.print(y+"*"+x+"="+y*x+"\t");
- }
- System.out.println();
- }
- }
- }
6、break与continue可以添加标签,跳出多层循环
例:
- <span style="white-space:pre"> </span>w: for(int i =0;i<2;i++)
- for(int j= 0;j<2;j++)
- continue w;
注:循环结构中无条件continue和break;语句后不可有执行不到的语句否则会报错
三、数组
1、定义
int[] arr = new int[5];
int[] arr = new int[]{1,3,5,7};
int[] arr = {3,5,7,1};
2、选择排序
- class Select
- {
- public static void main(String[] args)
- {
- int[] arr = {18,55,66,2,5,3,90,56};
- selectSort(arr);
- printfArr(arr);
-
- }
-
- public static void printfArr(int[] arr)
- {
- for(int i=0;i<arr.length;i++)
- if(i==arr.length-1)
- System.out.print(arr[i]);
- else
- System.out.print(arr[i] +",");
- }
-
- public static void selectSort(int[] arr)
- {
- for(int x =0;x<arr.length-1;x++)
- {
- for(int y=x+1;y<arr.length;y++)
- {
- if(arr[x]>arr[y])
- swap(arr,x,y);
- }
- }
- }
-
- public static void swap(int[] arr,int x ,int y)
- {
- int temp;
-
- temp= arr[x];
- arr[x] = arr[y];
- arr[y] = temp;
- }
-
- }
3、冒泡排序
- class Bubble
- {
- public static void main(String[] args)
- {
-
-
- int[] arr = {100,55,66,23,88,75,22,44,86,55};
-
- bubbleSort(arr);
- Select.printfArr(arr);
-
-
- }
-
- public static void bubbleSort(int[] arr)
- {
- for(int i=0;i<arr.length-1;i++)
- {
- for(int j=0;j<arr.length-1-i;j++)
- {
- if(arr[j] > arr[j+1])
- Select.swap(arr,j,j+1);
- }
- }
- }
- }
4、折半查找
- class HalfSearch
- {
- public static void main(String[] args)
- {
- int[] arr = {22,23,44,55,55,66,75,86,88,100};
-
- System.out.println(halfSearch(arr,75));
- }
-
- public static int halfSearch(int[] arr,int number)
- {
- int min=0;
- int max=arr.length;
- int half = (min+max)/2;
-
- while(min<=max)
- {
- if(arr[half] < number)
- min = half+1;
- else if(arr[half] > number)
- max = half-1;
- else
- return half;
-
- half = (min+max)/2;
-
- }
- return -1;
- }
- }
5、查表法进制转化
- class Trans
- {
- public static void main(String[] args)
- {
- ToBin(60);
- ToHex(60);
- ToBa(60);
- ToBin(-6);
- ToBin(0);
- }
-
- public static void ToBin(int number)
- {
- Trans(number,1,1);
- return ;
- }
-
- public static void ToHex(int number)
- {
- Trans(number,15,4);
- return ;
- }
-
- public static void ToBa(int number)
- {
- Trans(number,7,3);
- return ;
- }
-
- public static void Trans(int number,int base,int offset)
- {
-
- char[] HexChar = {'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'};
- char[] result = new char[32];
-
- if(number==0)
- {
- System.out.print(0);
- return;
- }
-
- int pos = result.length;
- while(number!=0)
- {
- int num = number&base;
- number = number >>>offset;
- result[--pos] = HexChar[num];
- }
-
- for(;pos<result.length;pos++)
- System.out.print(result[pos]);
-
- System.out.println();
- }
- }
6、二维数组
int[][] arr = new int[3][];
arr[0] = new int[3];
arr[1] = new int[1];
arr[2] = new int[2];