* 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;
 }
 
 
}


 

目录
相关文章
|
11月前
|
存储 缓存 Java
Java数组全解析:一维、多维与内存模型
本文深入解析Java数组的内存布局与操作技巧,涵盖一维及多维数组的声明、初始化、内存模型,以及数组常见陷阱和性能优化。通过图文结合的方式帮助开发者彻底理解数组本质,并提供Arrays工具类的实用方法与面试高频问题解析,助你掌握数组核心知识,避免常见错误。
|
9月前
|
Java
Java语言实现字母大小写转换的方法
Java提供了多种灵活的方法来处理字符串中的字母大小写转换。根据具体需求,可以选择适合的方法来实现。在大多数情况下,使用 String类或 Character类的方法已经足够。但是,在需要更复杂的逻辑或处理非常规字符集时,可以通过字符流或手动遍历字符串来实现更精细的控制。
545 18
|
10月前
|
算法 安全 Java
除了类,Java中的接口和方法也可以使用泛型吗?
除了类,Java中的接口和方法也可以使用泛型吗?
283 11
|
9月前
|
Java 编译器 Go
【Java】(5)方法的概念、方法的调用、方法重载、构造方法的创建
Java方法是语句的集合,它们在一起执行一个功能。方法是解决一类问题的步骤的有序组合方法包含于类或对象中方法在程序中被创建,在其他地方被引用方法的优点使程序变得更简短而清晰。有利于程序维护。可以提高程序开发的效率。提高了代码的重用性。方法的名字的第一个单词应以小写字母作为开头,后面的单词则用大写字母开头写,不使用连接符。例如:addPerson。这种就属于驼峰写法下划线可能出现在 JUnit 测试方法名称中用以分隔名称的逻辑组件。
375 4
|
9月前
|
编解码 Java 开发者
Java String类的关键方法总结
以上总结了Java `String` 类最常见和重要功能性方法。每种操作都对应着日常编程任务,并且理解每种操作如何影响及处理 `Strings` 对于任何使用 Java 的开发者来说都至关重要。
502 5
|
10月前
|
Java 开发者
Java 函数式编程全解析:静态方法引用、实例方法引用、特定类型方法引用与构造器引用实战教程
本文介绍Java 8函数式编程中的四种方法引用:静态、实例、特定类型及构造器引用,通过简洁示例演示其用法,帮助开发者提升代码可读性与简洁性。
|
10月前
|
Java
Java 数组学习笔记
本文整理Java数组常用操作:遍历、求和、查找、最值及二维数组行求和等典型练习,涵盖静态初始化、元素翻倍、去极值求平均等实例,帮助掌握数组基础与应用。
|
11月前
|
算法 Java
Java语言实现链表反转的方法
这种反转方法不需要使用额外的存储空间,因此空间复杂度为,它只需要遍历一次链表,所以时间复杂度为,其中为链表的长度。这使得这种反转链表的方法既高效又实用。
686 0
|
Java
JAVA方法的定义
JAVA方法的定义
341 0