三、逻辑运算符:
创新互联网站建设服务商,为中小企业提供成都网站建设、网站设计服务,网站设计,网站托管维护等一站式综合服务型公司,专业打造企业形象网站,让您在众多竞争对手中脱颖而出创新互联。
(与) |(或) !(反)
:当两边同时为真时,结果为真,否则为假
| :当两边有一边为真时,结果为真,否则为假
! :真值变假值,假值变真值
学JAVA也有不短的时间了,现在开发也有1年多了,不过你说的那些基础知识我也记不得。我一开始也一样害怕,学了就忘记了
不过告诉你,JAVA不是背出来的,是逻辑。
记忆方面,你只需要知道到哪里去查阅。
这就是为什么有那么多API reference等的原因啊,因为大家都记不得。
楼主先看看这段简洁版的代码:
class Person{ // 定义Person类
private Book book ; // 一个人有一本书
public void setBook(Book b){
book = b ;
book.setTitle("caca");
}
public Book getBook(){
return book ;
}
};
class Book{ // 定义Book类
private String title ; // 标题
public Book(String title) {
this.title = title;
}
public void setTitle(String t){
title = t ;
}
public String getTitle(){
return title ;
}
};
public class Test2{
public static void main(String arg[]){
Book book = new Book("hello");
Person person = new Person();
System.out.println("book.getTitle()---" + book.getTitle());
person.setBook(book);
System.out.println("person.getBook().getTitle()---" + person.getBook().getTitle());
System.out.println("book.getTitle()---" + book.getTitle());
System.out.println();
}
};
你的代码太长了,主要就是看上面这几行。理解我下面说的话,差不多就都理解了。
这里的输出结果是:
book.getTitle()---hello
person.getBook().getTitle()---caca
book.getTitle()---caca
为什么book.getTitle()前后的值不一样呢?
因为,setBook(book)方法中传递的实际上是一个指针,是对名字为”hello“的书的引用。person接收到这个引用之后,又对book里的名字赋值,更改为”caca"。最后,执行book.getTitle()时,
又是同一个引用。注意的是,从始至终,就只有一个真正的book,其他的都是对这个book的引用。因为,你只new了一个。
高手写程序,都是先给自己做一套框架,从接口开始.一步一步完善..
而新手写程序,从功能开始..
比如说.你写一个交友网站.. 老练的人,可能先写一些后台的类,处理逻辑,
一层一层的完善 最后拼接
而新手 可能首先想到的是,给我这个网站做一个登陆页面..然后连上数据库
然后从登陆后第一个页面开始往后写..
无论哪种..在学习阶段都是可取的方法..因为开始学的时候方法都不一定最完美 ,但是看重的是过程..只要你动手了 几有收获
本人开始学的时候 还在纯记事本+控制台敲过好多程序..所有的代码都在一个.java文件里头...后来就慢慢好点了..都有这个过程
java逻辑代码块是指使用{}大括号内的代码片段,为了实现某种逻辑和主类区分开来的一段代码。分为静态代码块、普通代码块,示例如下:
/**
* 静态代码块先于构造器执行 普通块先于构造块 只执行一次
* 凡是静态的与对象无关,先于对象存在的; 凡是静态的都是共享的
*
*/
public class Test {
static {//静态代码块
System.out.println("static");
}
{
System.out.println("普通块2");
}
public Test() {
System.out.println("构造器");
}