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

本文详细介绍Java学习的预备工作,包括命令行操作、环境搭建等,并深入讲解语法基础、数组操作及排序算法等内容,适合Java初学者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、学习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可以添加标签,跳出多层循环

例:

		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 = {18,55,66,2,5,3,90,56};

		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];


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值