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

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

 

时间: 2024-09-18 03:50:47

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

Java基础-15总结对象数组,集合Collection,集合List

你需要的是什么,直接评论留言. 获取更多资源加微信公众号"Java帮帮" (是公众号,不是微信好友哦) 还有"Java帮帮"今日头条号,技术文章与新闻,每日更新,欢迎阅读 学习交流请加Java帮帮交流QQ群553841695 分享是一种美德,分享更快乐! 1:对象数组(掌握) (1)数组既可以存储基本数据类型,也可以存储引用类型.它存储引用类型的时候的数组就叫对象数组. (2)案例: 用数组存储5个学生对象,并遍历数组. package cn.itcast_01;

c++在函数中new的对象数组如何在主函数中使用

问题描述 c++在函数中new的对象数组如何在主函数中使用 Student *p; int main(){ read(); p[0].getname(); //这一行去掉正常运行,写在read()里也正常 delete[] p; return 0; } int read(){ int n; string str; ifstream fin("k.txt"); fin>>n; p=new Student[n]; for(int i=0;i { fin>>str&g

解析dom中的children对象数组元素firstChild,lastChild的使用

以下是对dom中的children对象数组元素firstChild,lastChild的使用进行了详细的分析介绍,需要的朋友可以参考下   复制代码 代码如下: <!--children对象数组元素示例 --> <html> <body>   <table   id="tbl">     <tbody> <tr> <td> 行1列1 </td><td>行1列2 </td&g

C++中文件流的读写,在文件中录入相关对象数组信息,然后显示出来

问题描述 C++中文件流的读写,在文件中录入相关对象数组信息,然后显示出来 我想实现一个书籍的录入.修改.删除购买等一系列功能 定义了一个Book类 想实现将键盘上的信息录入到对象数组中,然后将对象数组中的信息写入到文本文件中, 所以定义了一个文件对象数组指针,用循环将Book中的对象与文件中对象相匹配 从而能够录入到文本文件中,修改时文本文件也同时修改,删除时文本文件中相应的信息也被删除 最后将实现这些功能后最新的book信息显示出来 --------我表达能力一直不怎么好,不知道大家听懂了没

在Main方法中不能访问 stu对象吗?

问题描述 classClass1{studentstu=newstudent();staticvoidMain(){}}问题:在Main方法中不能访问stu对象吗? 解决方案 解决方案二:静态方法不能访问非静态成员,staticstudentstu=newstudent()就可以了解决方案三:静态的成员不能访问非静态成员,非静态成员是能够访问的,例如:classTest{publicstaticvoidA(){//静态成员System.out.println("我是A方法");B()/

java web-Javaweb在Java类的main方法中无法通过Proxool连接数据库

问题描述 Javaweb在Java类的main方法中无法通过Proxool连接数据库 Javaweb在Java类的main方法中无法通过Proxool连接数据库,报SQLException,找不到驱动,同样的代码启动tomcat后在服务器中能运行??????? 解决方案 有两个可能,一个是jar包没有引入全:还有一个就是配置文件的编码方式,把配置文件打开看看有没有乱码

java,main方法中可以运行,为啥被调用时不起作用,

问题描述 java,main方法中可以运行,为啥被调用时不起作用, public class Test { // public static void main(String[] args){ public static void sendMail(){ //这个类主要是设置邮件 MailSenderInfo mailInfo = new MailSenderInfo(); .............. 之前用main方法运行时,(就是鼠标右键运行那种),是可以的, 为啥把方法换成sendMai

线程-跪求哪位大神讲解一下main方法中new Thread中传入的lambda是什么?

问题描述 跪求哪位大神讲解一下main方法中new Thread中传入的lambda是什么? 我是个新手,刚刚在树上看到了这个程序,DownUtil中有private的内部类继承了thread类,对于main方法中的thread()怎么调用的不太懂,求耐心看看,大神能够解答一下: import java.io.*;import java.net.*; public class DownUtil { private String path; private String targetFile; p

《Effective Java》—— 对于所有对象都通用的方法

本节主要涉及Object中通用的一些方法,比如equals,hashCode,toString,clone,finalize等等 覆盖equals时请遵守通用约定 equals方法实现的等价关系: 自反性:对于所有的非null,a=a 对称性:a=b,则b=a 传递性:a=b,b=c,则a=c 一致性:对于没有被修改的ab,如果a=b,则一直a=b 非空性:对于任何非Null,a!=null 高质量equals方法的诀窍: 使用==操作符检查--"参数是否为这个对象的引用" 使用ins