java基础

java是一门编程语言,使用非常的广泛,在web开发,数据处理,java的技术栈非常的宽广.任何编程大神,都必须会java语言,未来的前景是非常的宽广的.
java代码经过编辑器会被中间字节码文件,也就是我们的.class文件.当然我们的python语言也是如此,也是编译成为中间的字节码文件,不同的是java是一门纯的面向对象的语言,然而我们的python语言,充其量就是一个脚本语言,在做大型的系统开发方面,java有着成熟的技术和框架,然而,我们的python还是比较适合做一些脚本的开发。python在人工智能,数据处理,以及计算机视觉开发很有潜力。
近年来随着人工智能技术的兴起,python的应用前景是非常的好的.但是java是不会被淘汰的,智能手机等移动终端的普及,java也会越来越火爆.
接下来,我来先说说java的基础部分,也是个人对java基础的学习的一个总结。
有些错误的地方,希望大家及时的纠正。
首先来说说java的数据类型.java是一种强制类型的语言,这点和python不同。
python是一种弱类型的语言.
在java里面,数据类型一般有以下几种.
字节整形,短整型,整形,长整形,字符类型,字符串类型,数组,单精度类型,双精度类型,布尔类型等等.
下面,就来简单的介绍下.
所谓的整形,就是带有整数类型.就是没有小数点的数字,比如数字12,33,45等等,都是整形
申请一个整形变量如下:
int a=12.
在这里会在计算机的内存里面开辟一段存储空间来存储该整数.整形默认在java里面占有4个字节的存储空间.
因此我们可以计算出整形的存储的最大数值为2的32次方.超出该范围的数据会被溢出。
在这里java并没有做出过多的维护.在一般的程序开发里面,我们不会使用那么大的数据
整形数据在程序开发最常用.
那么问题来了,计算机是如何找到该内存空间的数据的了,java提供了两种方式
1.通过变量名来获取该内存空间的数据
2. 通过引用来实现,也就是内存地址,或者叫做引用,其实就是一个意思.
长整形就是在数字的后面加上一个大小或者是小写的L,我 也忘记了。整形数据没有什么好说的。下面我们来看看字符类型.
在java里面字符和字符串是两个不同的意思,字符是由单引号括起来的单个字符。字符串是用双引号括起来的多个字符.他们的关键字也是不同的,
代码如下;
char  c='t';
String c="test";
public class StringSplit {
public static void main(String[] args) {
String sourceStr = “1,2,3,4,5”;
String[] sourceStrArray = sourceStr.split(",");
for (int i = 0; i < sourceStrArray.length; i++) {
System.out.println(sourceStrArray[i]);
}

// 最多分割出3个字符串
int maxSplit = 3;
sourceStrArray = sourceStr.split(",", maxSplit);
for (int i = 0; i < sourceStrArray.length; i++) {
System.out.println(sourceStrArray[i]);
}
}
}

在java里面,字符串是使用双引号来表示的多个字符,这点和python有很大的不同.需要大家的注意,字符串我们可以理解为一个对象,有自己的属性和方法,z字符串由很多的方法,大家可以去Api文档去看看,这里我就不多做介绍了.相信有点基础的同学都可以看懂.
下面还是来看看代码吧,都是非常的简单的代码,注释也很详细.
package java基础2;`

**package java基础2;
public class 字符串的长度 {
	public 字符串的长度() {
		// TODO Auto-generated constructor stub
	}
	public static void main(String[] args) {
		// TODO Auto-generated method stub
        //字符串的长度的方法.
		String ch="hello";
		
		String ch2="123 45";
		int size=ch.length();
		System.out.print(size);
		System.out.print('\n');
		System.out.print(ch2.length());
		System.out.print("\n");
		
		
		//获取指定位置的字符.使用charat方法.
		String name="peter";
		char ch4=name.charAt(0);
		System.out.print(ch4);
		
		char ch5=name.charAt(name.length()-1);
		System.out.print("\n");
		System.out.println(ch5);
		
		
		//获取子字符串的方法.
		//获取第一次出现的索引.
		String  str0="we are the world";
		int index=str0.indexOf("e",3);
		System.out.print("\n");
		System.out.println(index);
		
		//出现最后一次的索引.lastindexof。
		String  m="let it go!let it go";
		int index2=m.lastIndexOf('t',14);
		System.out.print("\n");
		//最后一次出现的,也有一个参数,代表了从那个位置开始.
		System.out.print(index2);
		
		
		//判断字符串的结尾的内容.endwith表示的就是以什么结尾.
		String t="hello java.java";
		boolean b2=t.endsWith(".java");
		System.out.print("\n");
		boolean b3=t.endsWith(".jpg");
		System.out.println(b2);
		System.out.print("\n");
		System.out.println(b3);
		
		//判端字符串的首内容.
		String  n="新华社记者从前方发来报道";
		boolean  q=n.startsWith("新华社");
		System.out.print(q);
```**

在这里插入代码片
package java基础2;

public class charat方法 {

public charat方法() {
	// TODO Auto-generated constructor stub
}

public static void main(String[] args) {
	// TODO Auto-generated method stub
	//字符串的数组的功能.
	//将字符串变成数组的方法.tocharryArray。
	String str="我是一个字符串";
	//将一个字符串转换为字符数组的方法.
	char ch[]=str.toCharArray();
	for(char temp:ch) {
		System.out.print(temp);
	}
	
	//判断子字符串是否存在.
	String str1="88888B888";
	boolean b=str1.contains("B");
	System.out.println("\n");
	System.out.println(b);
	if (str1.indexOf("B")>1) {
		System.out.println("B存在");
	}
	else {
		System.out.println("hello hacker");	
	}
	
	//找到子字符串是否存在.
	
	
	
}

}

在这里插入代码片
package java基础2;

public class java的字符串基础 {

	public java的字符串基础() {
		// TODO Auto-generated constructor stub
	}

	public static void main(String[] args) {
		// // TODO Auto-generated method stub
		// // java中保存字符串的类String类。
		// // 注意这里就是双引号,用双引号括起来的多个字符,称之为字符串.
		// String str = "hello world";
		// String str2 = "hello ", str3 = "hacker";
		// System.out.println(str);
		// System.out.println(str2);
		// System.out.println(str3);

		// 使用字符串构造方法
		// 所有的文本内都可以叫做字符串.java String类来保存字符串。
		// 利用字符串构造方法来实例化字符串。
		String a = new String("hello world");
		System.out.println(a);

		String test;
		test = "hello hacker";
		System.out.println(test);

		String c = "hello world", d = "hello hacker";
		System.out.println(c);
		System.out.println(d);

		String m = "时间就是金钱,我的朋友";
		System.out.println(m);

		String data = new String("我爱我家");
		String data2 = "我爱我家";
		System.out.println(data);
		System.out.println(data2);

		// 字符数组来实现对字符串的实例化.
		char ch[] = { 't', 'i', 'm', 'e' };
		String ch2 = new String(ch);
		System.out.println(ch2);

		// 来看看下面的代码。
		char ch3[] = { '时', '间', '就', '是', '金', '钱' };
		String ch4 = new String(ch3, 4, 2);
		System.out.print(ch4);

	}

}
在这里插入代码片
package java基础2;

public class 字符串的比较 {

	public 字符串的比较() {
		// TODO Auto-generated constructor stub
	}

	public static void main(String[] args) {
//		// TODO Auto-generated method stub
//		String a = new String("tom");``
//		String b = new String("tom");
//		if (a == b) {
//			System.out.print(1);
//		} else {
//			System.out.print(0);
//		}
//		
//		 //等号始终比较的是在计算机内存里面的引用,由于指向的是不同的栈内存
//		 //所以当然两个变量是不相等的.
//		//如果比较值是否相等的化,我们可以使用equals方法.
//	   System.out.println(a.equals(b));
		
		
		String a="abc";
		String b="abc";
		System.out.print(a.equals(b));
		System.out.println();
		//忽略字符串大小写的比较.
		System.out.println(a.equalsIgnoreCase(b));
		//使用同一个匿名的字符串对象.
		System.out.println(a==b);
		
		
		String c="hello"+"java";
		String d="hellojava";
		//从结果可以看出的就是c和d是相等的.
		System.out.println(c==d);
	}

}

在这里插入代码片
package java基础2;

public class 可变字符串 {

public 可变字符串() {
	// TODO Auto-generated constructor stub
}

public static void main(String[] args) {

// // TODO Auto-generated method stub
// //java可变字符串.
// //StringBuffer字符串缓冲区
// //StringBuild
//创建可一个空的字符串方法.
StringBuffer sbt=new StringBuffer();
// String st=new String(“32”);
// // System.out.print(st);
// System.out.print(sbt);
// System.out.print(“程序运行完毕”);

   //StringBuffer内置方法append方法
  //相当于字符串的拼接功能.
    
   sbt.append("门前大桥下,\n");
   sbt.append("游过一群鸭.\n");
   sbt.append("快来快来数一数,\n"); 
   sbt.append("2,4,6,7,8.");
   
   System.out.println(sbt);
   
   
   
   //修改指定处的索引,
   StringBuffer sbt2=new StringBuffer("123456");
   //sbt2.setCharAt(3, "t");
   //reverse将字符串反序。
   StringBuffer test=new StringBuffer("同一个世界,同一个梦想");
   System.out.print(test.reverse());
   
   //删除子字符串.
   
   StringBuffer str4=new StringBuffer("天行健,君子以自强不息");
   System.out.println();
   System.out.print(str4.delete(4, 7));
   
   //StringBuffer的方法.有很多,可以查看API文档
   //StringBuild的内提供了和上面相同的方法,不保证线程的同步.
   
   
}

}


在这里插入代码片
package java基础2;

public class 截取字符串的方法 {

public 截取字符串的方法() {
	// TODO Auto-generated constructor stub
}

public static void main(String[] args) {
	// TODO Auto-generated method stub
   //截取字符串的方法.Substring方法.可以指定开始位置和结束位置.

// String id=“hello python hello hacker”;
// String sun=id.substring(6,12);
// System.out.print(sun);

	 //字符串的替换.
	//java三种替换字符串的方法.

// String str1=“馒头一文一个”;
// String str2=str1.replace(“一”, “壹”);
// System.out.print(str2);
// //reolaceall使用正则表达式来实现的.
// //字符串的分割.
// //split方法.返回的是一个字符串数组.
//通过某个符号来实现分割的方法.
//减肥一个字符串拆分为一个数组
String test=“abc,de,fg”;
String str4[]=test.split(",");

	for(int i=0;i<str4.length;i++) {
		System.out.println(str4[i]);
	}
	//字符串的分割还支持正则表达式来实现的.来看看代码.
	String str="192.168.0.1";
	String arr1[]=str.split("\\.");
	String arr2[]=str.split("\\.",2);

// for(int i=0;i<arr1.length;i++) {
// System.out.println("["+arr1[i]+"]");
// }
//
for(int k=0;k<arr2.length;k++) {
System.out.println("["+arr2[k]+"]");
}

}

}

package java基础2;
//导入包 
import java.util.Date;

public class 格式化字符串 {

	public 格式化字符串() {
		// TODO Auto-generated constructor stub
	}

	public static void main(String[] args) {
		// TODO Auto-generated method stub
        //java  API格式化字符串format方法还哟好很多的方法,可以自己取看看,很简单.
		Date date=new Date();
		String  str=String.format("%tF", date);
		System.out.println(date);
		System.out.println(str);
		
		
		//java  Api有很多的方法,可以iqu看看。
				
	
	}

}

Java Api的字符串由很多的方法,这里我们可以看看去看看API文档.

介绍完了字符串,我们还看看java的数组.
数组就是以序列的数据的集合,
数组的定义如下;
int a[]=new int(5)在这我们定义了一个整形的数组,数组的元素的个数为5个.
int a[]={12,34,56}这种定义数组的方法就是在定义数组的时候对其进行初始化的操作.
//java的数组
		//如何创建java的数组。
		//一维数组的初始化操作.由三种初始化数组的方法.
		//创建三个元素的数组的方法。
		int a[]=new int[3];
		int b[]=new int[] {5,1,3};
		//以上就是数组初始化的三个方法.
		int c[]= {1,2,3};
		System.out.println(c[2])
		int d[]= {1,2,3,45};
		System.out.println(d[1]);
        以上就是java定义数组的三种方法.在这里,我们最常用的就是初始化的那种,数组也有很多的方法,Java定义一个数组的
下面来看看数组的一些使用.代码非常的简单,这里就不多做解释了,还是直接来看看代码吧.
数组同样通过下表来实现访问的.
package java变量;

public class 数组的遍历 {

	public 数组的遍历() {
		// TODO Auto-generated constructor stub
	}

	public static void main(String[] args) {
//		// TODO Auto-generated method stub
//		// 变列二位数组通过双重的循环来实现的.
		int a[][] = new int[][] { { 12 }, { 45, 56 }, { 125, 564, 123 } };
//		// 输出二位数组的的元组通过双for循环来实现的.
//		for (int i = 0; i < a.length; i++) {
//			for (int j = 0; j < a[i].length; j++) {
//				System.out.print(a[i][j]);
//				System.out.print("\t");
//			}
//			System.out.println("");
//		}
		
		
		for(int i[]:a) {//输出行,使用java的foreach循环.代码更加的简单
			for(int j:i) {
				System.out.print(j);  
				System.out.print("");
			}
			System.out.print("");
		}
		
	}

}


package java变量;

import java.util.Arrays;

public class 数组的填充 {

	public 数组的填充() {
		// TODO Auto-generated constructor stub
	}

	public static void main(String[] args) {
		// TODO Auto-generated method stub
        //来看看数组的填充的方法
	int a[] =new int[5];
//     	Arrays.fill(a,8);//将数组所有的值填充为8
//		for (int i=0;i<a.length;i++) {
//			System.out.print(a[i]);
//			System.out.print("\n");
//		}
        //当然,也可以从从规定的位置处填充。
	   int a2[]=new int[]{1,22,45,49,58,78};
		Arrays.fill(a2,1,4,0);
		for(int i=0;i<a2.length;i++) {
			System.out.println(a2[i]);
		}
		
		
	}

}

package java变量;

public class 循环的嵌套 {

	public 循环的嵌套() {
		// TODO Auto-generated constructor stub
	}

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		// 可以看到嵌套的循环里面只有当里面循环执行完毕之后,才此做外面的循环。
		for (int a = 1; a <= 2; a++) {
			System.out.println("a=" + a);
			for (int b = 1; b <= 3; b++) {
				System.out.println("b=" + b);
			}
		}
	}

}
package java变量;

public class array4 {

	public array4() {
		// TODO Auto-generated constructor stub
	}

	public static void main(String[] args) {
		// TODO Auto-generated method stub
      //数组提供的length属性,来实现对java数组长度的求解。数组的长度就是元素的个数。
		int a[]= {12,23,1,5,89,7};
		System.out.println(a.length);
		System.out.println(a[5]);
	}

}

下面的代码是西安的是求数组里面的最大值.
package java变量;

public class array6 {

	public array6() {
		// TODO Auto-generated constructor stub
	}

	public static void main(String[] args) {
		 // TODO Auto-generated method stub
         //求n个数字的最大值.
		//获取数组的长度,通过数组的length属性来实现的。
		int max=0;
		int a[]= {12,34,5,98,10024,56};
		for (int i=0;i<a.length-1;i++)
		{
			   
			   if (a[i]>max) {
				   max=a[i];
			   }
		}
		System.out.println(max);
	}

}


   下面来看看冒泡法排序算法,非常的简单,解释就不用多说了还是直接来看看代码吧.
   package java基础2;

public class 冒泡排序算法 {

	public 冒泡排序算法() {
		// TODO Auto-generated constructor stub
	}

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//java的冒泡法排序的思想.
		int a[]=new int[] {63,4,24,1,3,15};
		for(int i=1;i<a.length;i++) 
		{
			for(int j=0;j<a.length-i;j++) {
				if(a[j]>a[j+1]) {
					int temp;
					temp=a[j];
					a[j]=a[j+1];
					a[j+1]=temp;
					
				}
			}
		}
		System.out.println("冒泡排序的结果:");
		for(int temp:a) {
			System.out.println("\t");
			System.out.print(temp+"");
		}

	}

}
    下面的一篇章节,我们就来看看java的流程控制结构了。今天的基础就说到这里.
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值