java中print方法_java编程中的一些小知识(print与println的区别,方法的定义,参数传递机制)...

编码GBK不可映射字符(错误提示)

解决方法:需要在每个build.gradle中加入一串固定的代码

2c91e445c70f

2c91e445c70f

固定代码

2c91e445c70f

print与println的区别

print不换行;println自动换行

以println输出

public class Myclass {

public static void main(String[] args) {

int a = 10;

float b = 20;

System.out.println("a ="+a);

System.out.println("b ="+b);

}

}

输出结果:

a=10

b=20.0

以print输出

public class Myclass {

public static void main(String[] args) {

int a = 10;

float b = 20;

System.out.print("a ="+a);

System.out.print("b ="+b);

}

}

输出结果:

a=10b=20.0

java的数组

1. 数组的定义Array ( int num[] = new int[30]),数组一旦创建,内存空间确定无法变化

创建静态数组

String name = new String[]{"jack","merry"};

常用定义方法

String[] titles = new String[]{"新闻","体育"};

2.数组的访问(num[0] = 20)

public class Myclass {

public static void main(String[] args) {

//创建动态数组

int num[] = new int[30];

//获取数组的个数

System.out.println("数组个数"+num.length);

}

}

输出结果:

数组个数30

3.数组的遍历

方法一:关心第几个

for(int i = 0;i < titles.length;i++){

System.out.println(titles[i]);

}

方法二:仅仅打印出来每个

for(String temp :titles){

System.out.println(temp);

}

方法的定义

·类里边有什么:属性、方法、类→内部类、接口、静态代码块(java是面向对象的语言,一切皆对象)

· java里的方法都不可独立存在,只能在类里申明

类方法=静态方法

对象方法=实例方法

对象方法与类方法的区别

1.定义的区别:类方法 使用static修饰

2.意义的区别:类方法依附于类本身,优先于对象方法被加载,当这个类加载到内存中时这个方法即被加载,而此时对象还不存在,所以只能用类来调用调用这个类方法;对象方法依附于对象,必须创建这个类的一个对象,用对象来调用

3.static可以修饰以下

变量 静态变量

方法 静态方法

类(内部类)静态内部类

定义

public class Person {

//定义一个没有参数实例的方法

//public protect private

public void eat(){

//修饰符+返回值+方法名+参数

}

public void work(String tool,String dest){

}

public String test(){

return"result";

}

//定义一个对象方法

public static void test2(){

}

}

访问

public class Myclass {

public static void main(String[] args) {

Person p = new Person();

p.eat();

p.work("榔头","工地");

String result = p.test();

//类方法的调用

Person.test2();

}

}

java参数传递机制

值传递,传递过去的是当前一份变量的拷贝,内部改变不影响值

2c91e445c70f

Myclass.java

public class Myclass {

public static void main(String[] args) {

{

int a = 10;

Person q = new Person();

q.test3(a);

System.out.println("a=" + a);

}

}

}

Person.java

public class Person {

//定义一个没有参数实例的方法

//public protect private

public void test3(int a){

//修饰符+返回值+方法名+参数

a++;

}

输出结果:

a=10

对象传递,传递的是地址,所以内部改变时。值发生改变

2c91e445c70f

public class Myclass {

public static void main(String[] args) {

{

Car bz = new Car();

bz.wheelCount = 8;

Person p = new Person();

p.test4(bz);

System.out.println("wheel count is " + bz.wheelCount);

}

}

}

package com.example.lib.day2;

/**

* @Description

* @Author 空添

*/

public class Car {

public int wheelCount;

}

输出结果:

wheel count is 4

可变参数

Person.java

public class Person {

//传递一个可变参数,参数个数不确定

//使用数组来接收

//String ... args等价于String[] args

public void test5(String ... args){

for(int i = 0;i < args.length;i++){

System.out.println(args[i]);

}

}

}

Myclass.java

package com.example.lib.day2;

/**

* @Description

* @Author 空添

*/

public class Myclass {

public static void main(String[] args) {

{

Person p = new Person();

p.test5("jack","rose","merry");

}

}

}

输出结果:

jack

rose

merry

方法的重载

同一个类里,方法名相同,参数不同;方法的重载和返回值,修饰符没有关系;方法名与类名相同,没有返回值

构造方法如何去创建一个对象;系统默认提供一个无参的构造方法

构造方法可以解决两个问题:代码更简洁

Car.java

public class Car {

public int wheelCount;

public int engine;

public int seat;

public Car(){

}

public Car(int count,int cEngine,int cSeat){

wheelCount = count;

engine = cEngine;

seat = cSeat;

}

}

Myclass.java

package com.example.lib.day2;

public class Myclass {

public static void main(String[] args) {

{

Car c1 = new Car();

c1.wheelCount = 4;

Car c2 = new Car(4,2,7);

}

}

private的访问方法

setter/getter方法:间接访问private

Myclass.java

public class Myclass {

public static void main(String[] args) {

Person p = new Person();

//直接访问

p.money = 200;

//间接访问

p.setName("jack");

System.out.println("My name is "+p.getName());

}

}

Person.java

package com.example.lib.day3;

/**

* @Description

* @Author 空添

*/

public class Person {

private String name;

public int money;

//set方法

public void setName(String name){

this.name = name;

}

//get方法

public String getName(){

return name;

}

}

输出结果:

My name is jack

getter和setter方法快速调出:alt+enter

(这个方法位于代码末端)

toString方法

没有手动实现toString方法

Myclass.java

package com.example.lib.day3;

public class Myclass {

public static void main(String[] args) {

Person p = new Person();

System.out.println(p);

}

}

Person.java

package com.example.lib.day3;

public class Person {

private String name;

public int money;

}

输出结果:

com.example.lib.day3.Person@42a57993

当print输出一个对象时,就会去这个对象内部查找toString方法

如果没有实现,那么会从父类Object里去查找toString的实现

Object里面默认使用 类名+@+hasCode

重写toString方法是为了在调试时快速获取这个对象信息

手动输入实现toString

@Override

public String toString() {

return "Person{" +

"name='" + name + '\'' +

", money=" + money +

'}';

输出结果:

Person{name='null', money=0}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值