* java 中的数组 对象数组 以及main方法中的参数 x y不用中间参数实现交换

简介:  /*  java 中的数组  对象数组   以及main方法中的参数    x y不用中间参数实现交换java 基本数据类型 的数组 初始化元素为 0java中数组名.length表示数组中元素的个数 main方法中的 args[] 从0开始 是java 类  后面的字符串  args.
 

/*  java 中的数组  对象数组   以及main方法中的参数    x y不用中间参数实现交换
java 基本数据类型 的数组 初始化元素为 0
java中数组名.length表示数组中元素的个数
main方法中的 args[] 从0开始 是java 类  后面的字符串  args.length也是保存了 元素的个数

System.out.println()  在打印对象的时候 包括我们自己定义的对象 他会调用toString方法 因为所有类都是从object派生而来  打印出类测描述
建议所有子类都应该覆盖这个方法  用来描述类

基本数据类型作为参数传递的 是副本的拷贝 

引用数据类型作参数传递的是引用的拷贝

 

*/
import java.lang.String;

/*class  Student   //引用数据类型
{
 int age;
 String name;
 Student(String name,int age)
 {
  
 }
}*/
class Test
{
 
   static void change(int x,int y)   //交换值
  
   {
   x=x+y;
   y=x-y;
   x=x-y;
  }
 static  void change(Point pt) //交换值
  {
   pt.x=pt.x+pt.y;
   pt.y=pt.x-pt.y;
   pt.x=pt.x-pt.y;
  }
  static void change(int []num)  //交换值
  {
   num[0]=num[1]+num[0];
   num[1]=num[0]-num[1];
   num[0]=num[0]-num[1];
   
  }
  
 
 
 public  static void main(String []args)
 {
  
  
  
  
 /*if(args.length!=3)
  {
   System.out.println("must  have three  pramarater  ");
   System.exit(-1);
  }
  else
  {
   for(int count=0;count<args.length;count++)  //循环输出 三个参数
   {
   System.out.println(args[count]);
  }
  }
  
  */
// int []num=new int[10];  //java中基本数据类型的数组 都会被初始化为 0  开辟的数组空间的首地址赋值给 num  num.length表示数组中元素的个数 数组引用的一个属性
  /*
  如果 num=null 那么就切断了 num 和数组对象的引用关系 那么数组对象那块内存就成了垃圾内存
  在不确定的时间里就会被垃圾回收机制给回收了
  
  
  
  for(int i=0;i<10;i++)
  {
   System.out.println(num[i]);
  }
   
//引用数据类型
  /* Student []students;
  students=new Student[3];  //分配三块内存 但是没有分配对象   也就是每个元素没有保存 Student对象 所以打印出null
  for(int m=0;m<3;m++)  
  {
   System.out.println(students[m]);
  }
 }*/
 
 int a=3;
 int b=4 ;
 Point pt=new Point(a,b);  //声明Point对象
 int []num=new int[]{3,4}; //声明数组
  change(a,b);
  System.out.print("a="+a+","+"b="+b+"\n"); 
  change(num);
  System.out.print("a="+num[0]+","+"b="+num[1]+"\n");
  change(pt);
//System.out.print("a="+pt.x+","+"b="+pt.y+"\n");  
  System.out.print(pt);  //重载了toString函数 输出对象成员值

}
 
}

 

class Point
{
 Point(int a,int b)
 {
  this.x=a;
  this.y=b;
 }
 int x;
 int y;
 public  String toString()
 {
  String str=new String("x="+x+","+"y="+y);
  return str;
 }
 
 
}


 

目录
相关文章
|
1月前
|
Java
Java语言实现字母大小写转换的方法
Java提供了多种灵活的方法来处理字符串中的字母大小写转换。根据具体需求,可以选择适合的方法来实现。在大多数情况下,使用 String类或 Character类的方法已经足够。但是,在需要更复杂的逻辑或处理非常规字符集时,可以通过字符流或手动遍历字符串来实现更精细的控制。
223 18
|
1月前
|
Java 编译器 Go
【Java】(5)方法的概念、方法的调用、方法重载、构造方法的创建
Java方法是语句的集合,它们在一起执行一个功能。方法是解决一类问题的步骤的有序组合方法包含于类或对象中方法在程序中被创建,在其他地方被引用方法的优点使程序变得更简短而清晰。有利于程序维护。可以提高程序开发的效率。提高了代码的重用性。方法的名字的第一个单词应以小写字母作为开头,后面的单词则用大写字母开头写,不使用连接符。例如:addPerson。这种就属于驼峰写法下划线可能出现在 JUnit 测试方法名称中用以分隔名称的逻辑组件。
196 5
|
1月前
|
编解码 Java 开发者
Java String类的关键方法总结
以上总结了Java `String` 类最常见和重要功能性方法。每种操作都对应着日常编程任务,并且理解每种操作如何影响及处理 `Strings` 对于任何使用 Java 的开发者来说都至关重要。
263 5
|
2月前
|
算法 安全 Java
除了类,Java中的接口和方法也可以使用泛型吗?
除了类,Java中的接口和方法也可以使用泛型吗?
134 11
|
1月前
|
JSON 网络协议 安全
【Java】(10)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
143 1
|
1月前
|
JSON 网络协议 安全
【Java基础】(1)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
160 1
|
2月前
|
数据采集 存储 弹性计算
高并发Java爬虫的瓶颈分析与动态线程优化方案
高并发Java爬虫的瓶颈分析与动态线程优化方案
Java 数据库 Spring
136 0
|
2月前
|
算法 Java
Java多线程编程:实现线程间数据共享机制
以上就是Java中几种主要处理多线程序列化资源以及协调各自独立运行但需相互配合以完成任务threads 的技术手段与策略。正确应用上述技术将大大增强你程序稳定性与效率同时也降低bug出现率因此深刻理解每项技术背后理论至关重要.
220 16
|
3月前
|
缓存 并行计算 安全
关于Java多线程详解
本文深入讲解Java多线程编程,涵盖基础概念、线程创建与管理、同步机制、并发工具类、线程池、线程安全集合、实战案例及常见问题解决方案,助你掌握高性能并发编程技巧,应对多线程开发中的挑战。