黑马程序员:毕向东java视频之基础篇

时间:2023-02-11 12:45:23

一、学习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嵌套练习经典案例:九九乘法表

[java]  view plain  copy
  1. class  JiuJiu   
  2. {  
  3.     public static void main(String[] args)   
  4.     {  
  5.         for(int x =1 ;x<=9 ;x++)  
  6.         {  
  7.             for(int y=1;y<=x;y++)  
  8.             {  
  9.                 System.out.print(y+"*"+x+"="+y*x+"\t");  
  10.             }  
  11.             System.out.println();  
  12.         }  
  13.     }  
  14. }  

6、break与continue可以添加标签,跳出多层循环

例:

[java]  view plain  copy
  1. <span style="white-space:pre">      </span>w: for(int i =0;i<2;i++)  
  2.             for(int j= 0;j<2;j++)  
  3.                 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、选择排序

[java]  view plain  copy
  1. class Select   
  2. {  
  3.     public static void main(String[] args)   
  4.     {  
  5.         int[] arr = {18,55,66,2,5,3,90,56};  
  6.         selectSort(arr);  
  7.         printfArr(arr);  
  8.       
  9.     }  
  10.   
  11.     public static void printfArr(int[] arr)  
  12.     {  
  13.         for(int i=0;i<arr.length;i++)  
  14.             if(i==arr.length-1)  
  15.                 System.out.print(arr[i]);  
  16.             else  
  17.                 System.out.print(arr[i] +",");  
  18.     }  
  19.   
  20.     public static void selectSort(int[] arr)  
  21.     {  
  22.         for(int x =0;x<arr.length-1;x++)  
  23.         {  
  24.             for(int y=x+1;y<arr.length;y++)  
  25.             {  
  26.                 if(arr[x]>arr[y])  
  27.                     swap(arr,x,y);  
  28.             }  
  29.         }  
  30.     }  
  31.   
  32.     public static void swap(int[] arr,int x ,int y)  
  33.     {  
  34.         int temp;  
  35.   
  36.         temp= arr[x];  
  37.         arr[x] = arr[y];  
  38.         arr[y] = temp;  
  39.     }  
  40.   
  41. }  


3、冒泡排序

[java]  view plain  copy
  1. class Bubble   
  2. {  
  3.     public static void main(String[] args)   
  4.     {  
  5.         //int[] arr = {18,55,66,2,5,3,90,56};  
  6.   
  7.         int[] arr = {100,55,66,23,88,75,22,44,86,55};  
  8.   
  9.         bubbleSort(arr);  
  10.         Select.printfArr(arr);  
  11.   
  12.           
  13.     }  
  14.       
  15.     public static void bubbleSort(int[] arr)  
  16.     {  
  17.         for(int i=0;i<arr.length-1;i++)  
  18.         {  
  19.             for(int j=0;j<arr.length-1-i;j++)  
  20.             {  
  21.                 if(arr[j] > arr[j+1])  
  22.                     Select.swap(arr,j,j+1);  
  23.             }  
  24.         }  
  25.     }  
  26. }  


4、折半查找

[java]  view plain  copy
  1. class HalfSearch   
  2. {  
  3.     public static void main(String[] args)   
  4.     {  
  5.         int[] arr = {22,23,44,55,55,66,75,86,88,100};  
  6.   
  7.         System.out.println(halfSearch(arr,75));  
  8.     }  
  9.   
  10.     public static int halfSearch(int[] arr,int number)  
  11.     {  
  12.         int min=0;  
  13.         int max=arr.length;  
  14.         int half = (min+max)/2;  
  15.   
  16.         while(min<=max)  
  17.         {  
  18.             if(arr[half] < number)  
  19.                 min = half+1;  
  20.             else if(arr[half] > number)  
  21.                 max = half-1;  
  22.             else  
  23.                 return half;  
  24.   
  25.             half = (min+max)/2;  
  26.   
  27.         }  
  28.         return -1;  
  29.     }  
  30. }  


5、查表法进制转化

[java]  view plain  copy
  1. class Trans   
  2. {  
  3.     public static void main(String[] args)   
  4.     {  
  5.         ToBin(60);  
  6.         ToHex(60);  
  7.         ToBa(60);  
  8.         ToBin(-6);  
  9.         ToBin(0);  
  10.     }  
  11.   
  12.     public static void ToBin(int number)  
  13.     {  
  14.         Trans(number,1,1);  
  15.         return ;  
  16.     }  
  17.       
  18.     public static void ToHex(int number)  
  19.     {  
  20.         Trans(number,15,4);  
  21.         return ;  
  22.     }  
  23.   
  24.     public static void ToBa(int number)  
  25.     {  
  26.         Trans(number,7,3);  
  27.         return ;  
  28.     }  
  29.   
  30.     public static void Trans(int number,int base,int offset)  
  31.     {  
  32.   
  33.         char[] HexChar = {'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'};  
  34.         char[] result = new char[32];  
  35.   
  36.         if(number==0)  
  37.         {  
  38.             System.out.print(0);  
  39.             return;  
  40.         }  
  41.   
  42.         int pos = result.length;  
  43.         while(number!=0)  
  44.         {  
  45.             int num = number&base;  
  46.             number = number >>>offset;  
  47.             result[--pos] = HexChar[num];  
  48.         }  
  49.   
  50.         for(;pos<result.length;pos++)  
  51.             System.out.print(result[pos]);  
  52.   
  53.         System.out.println();  
  54.     }  
  55. }  


6、二维数组

int[][] arr = new int[3][];

arr[0] = new int[3];

arr[1] = new int[1];

arr[2] = new int[2];