日韩精品亚洲精品中文字幕乱伦AV|曰韩区二区三区日韩中文字幕五码|ady99久久人人看人人摸人人|动漫一区二区黄99精品视频在线|AV片在线观看亚洲中文国产精品|伦乱在线VA欧美性爱一二区|亚洲无码mv91热色视频|激情六月综合欧美精品中文

當(dāng)前位置:首頁 > 軟件開放 > 正文內(nèi)容

java代碼大全及詳解(Java代碼大全)

軟件開放2年前 (2023-02-12)984

本篇文章給大家談?wù)刯ava代碼大全及詳解,以及Java代碼大全對(duì)應(yīng)的知識(shí)點(diǎn),希望對(duì)各位有所幫助,不要忘了收藏本站喔。

本文目錄一覽:

JAVA計(jì)算器相關(guān)代碼求大神{詳解}

我給你找找

package com.bj.calcultor;

import java.awt.Frame;

import java.awt.GridLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

import javax.swing.JButton;

import javax.swing.JPanel;

import javax.swing.JTextField;

public class Calcultor extends Frame implements ActionListener {

public static void main(String[] args) {//定義主方

new Calcultor();//創(chuàng)建匿名對(duì)象,并調(diào)用test()方法;

}

//定義按鈕名稱

String[] arr={"1","2","3","4","5","6","7","8","9","0","+","-","*","/","=","."};

JButton [] button=new JButton[arr.length];

JButton reset = new JButton("CE");

JTextField display = new JTextField(20);

//創(chuàng)建窗口,定義組件

//執(zhí)行窗口事件:關(guān)閉窗口

private class WindowCloser extends WindowAdapter {

public void windowClosing(WindowEvent we) {

System.exit(0);

}

}

public Calcultor(){

super("計(jì)算器");//定義標(biāo)題

//定義面板容器,并布局

JPanel jpanel=new JPanel(new GridLayout(4,4));

//添加按鈕,并給按鈕添加名稱

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

button[i]= new JButton(arr[i]);

jpanel.add(button[i]);

}

JPanel panel2 = new JPanel();

panel2.add("Northr", display);

display.setEnabled(false);

panel2.add("East", reset);

this.add("North", panel2);

this.add("Center", jpanel);

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

addWindowListener(new WindowCloser());

setVisible(true);

setSize(400,400);

pack();

button[i].addActionListener(this);

reset.addActionListener(this);

display.addActionListener(this);

}

}

@Override

public void actionPerformed(ActionEvent e) {//定義事件

// TODO Auto-generated method stub

Object target=e.getSource();

String lable=e.getActionCommand();

if(target==reset){

handleReset();

}else if("0123456789.".indexOf(lable)0){

handleNumber(lable);

}else{

hadleOperator(lable);

}

}

boolean isFirstDigit=true;

private void hadleOperator(String key) {

if(operator.equals("+")){

number += Double.valueOf(display.getText());

}else if (operator.equals("-")){

number -= Double.valueOf(display.getText());

}else if (operator.equals("*")){

number *= Double.valueOf(display.getText());

}else if (operator.equals("/")){

number /= Double.valueOf(display.getText());

}else if(operator.equals("=")){

number =Double.valueOf(display.getText());

}

display.setText(String.valueOf(number));

operator=key;

isFirstDigit=true;

}

private void handleNumber(String key) {

if(true){

display.setText(key);//把鍵值設(shè)置為文本框內(nèi)容

}else if(key.equals(".") display.getText().indexOf(".")0){

display.setText(display.getText()+".");//把文本框內(nèi)容設(shè)置:display.getText()+"."

}else if(!key.equals(".")){

display.setText(display.getText() + key);//把文本框內(nèi)容設(shè)置:display.getText()+key

isFirstDigit=false;

}

}

private void handleReset() {

display.setText("0");

isFirstDigit=true;

operator="=";

}

String operator="=";

Double number=0.0;

}

java代碼解析

一樓的說的夠全面了,不過稍有誤解.

再來表示抱歉,我對(duì)編程語言中的中文名詞非常不了解,所以如果以下的回復(fù)對(duì)你的閱讀或者理解造成困難,請(qǐng)見諒.

1.首先,要明白這個(gè)問題的答案,需要了解call?(pass)?by?value?和?call?(pass)?by?reference?的區(qū)別.簡(jiǎn)單來說:

call?by?value通常是復(fù)制這個(gè)parameter的值去另外一塊內(nèi)存里,然后傳給function,?所以在method/function里邊對(duì)這個(gè)變量的所有變更,實(shí)際上都是對(duì)復(fù)制過來的鏡像進(jìn)行操作,不會(huì)對(duì)原本的variable有任何影響.

call?by?reference是將parameter的reference傳給function,簡(jiǎn)單點(diǎn)理解就是直接把variable傳給function.所以說這個(gè)variable的值是可以被function改變的.這個(gè)用法在c/c++中非常常見,用法是variable_name.

2.再來,在Java里邊,你可以很簡(jiǎn)單的理解為:?Java中只有call?by?value,?也就是說,所以所有傳給function的parameter本身都不會(huì)被改變.?(這是最簡(jiǎn)單直白的理解,當(dāng)然也有另一種常從sun的人那邊聽到的說法:Java是call?by?value?+?call?by?reference?by?value)

3.那么現(xiàn)在的問題就是為什么第二個(gè)結(jié)果是2了.?首先說一下sun官方的解釋:?對(duì)于reference?type在作為parameter/argument的時(shí)候,也是call?by?value,?但是在你擁有足夠權(quán)限時(shí)(比方說那個(gè)變量是public的,?不是final的等等各種符合的情況),可以修改這個(gè)object中fields的值(也就是屬于這個(gè)object(嚴(yán)謹(jǐn)點(diǎn)講是an?instance?of?the?object)?內(nèi)部的變量,?在你的例子中,?ko?里邊的?a?就是一個(gè)field,?所以u(píng)pdate(ko)會(huì)使ko.a變成2).

4.如果你是一個(gè)有過c/c++學(xué)習(xí)經(jīng)驗(yàn)的人或者你以上的解釋很難理解,以下這種說法或許更適合你?(當(dāng)然了,這只是大多包括我在內(nèi)有c經(jīng)驗(yàn)的人的一種理解方式)

這里可以引入一個(gè)新的概念,pointer.?這是一種比較特殊的變量,它內(nèi)部所儲(chǔ)存的東西,其實(shí)只是另外一個(gè)變量的內(nèi)存地址.?如果對(duì)內(nèi)存沒有概念,你可以把它簡(jiǎn)單理解為是風(fēng)箏的線軸,雖然看它本身看不出什么端倪,但是順著摸過去總會(huì)找到風(fēng)箏,看到它是什么樣子.?以pointer方式理解Java的人,通常會(huì)說:?Type?variable?=?new?Type();?這個(gè)過程中,最后生成的這個(gè)variable其實(shí)就是一個(gè)pointer,而不是instance本身.

在Java中,?有c/c++經(jīng)驗(yàn)的人通常認(rèn)為Java是call?by?value.同時(shí),當(dāng)一個(gè)變量用在儲(chǔ)存reference?type的時(shí)候,實(shí)際上儲(chǔ)存的是它的pointer,這也一樣可以解釋為什么ko.a會(huì)有2這個(gè)結(jié)果,因?yàn)殡m然pointer被傳到function里邊時(shí),本身是call?by?value,無法被改變.但這并不影響function本身對(duì)這個(gè)pointer指向的object的內(nèi)容做任何改變.?當(dāng)然,再次聲明,這只是一種幫助有c/c++經(jīng)驗(yàn)的人理解的方法.?Sun本身嚴(yán)正聲明Java里邊沒有pointer這個(gè)東西的存在.

5.?再來解釋一下為什么說樓上所說的(或者說樓上引用的)理解略有偏差.

引用"我們上面剛學(xué)習(xí)了JAVA的數(shù)據(jù)類型,則有:值類型就是按值傳遞的,而引用類型是按引用傳遞的"?這句話很明顯的有兩點(diǎn)錯(cuò)誤.?第一點(diǎn),如果我上面所說的,Java是沒有call?by?reference的.

第二點(diǎn),暫且假設(shè)Java里邊是有call?by?reference的,?這句話依然不成立.

Java中的變量有兩種類型:?primitive?types?和?reference?type.

primitive?type包括byte,?short,?int,?long,?char,?boolean,?float和double.

而這8種之外的所有的,都是reference?type.

下面是一段對(duì)你的貼上來的code的一點(diǎn)延伸,希望可以幫助你更好的理解Java中的argument?/?parameter到底是如何運(yùn)作的.

public?class?Test?{

public?static?void?main(String[]?args)?{

int?a?=?1;

Koo?koo?=?new?Koo();

Object?o?=?new?Integer(1);

Koo?newKoo?=?new?Koo();

update(a);

update(koo);

update(o);

update(newKoo);

newUpdate(newKoo);

System.out.println(a);

System.out.println(koo.a);

System.out.println(o);

System.out.println(newKoo.a);

}

static?void?update(int?a)?{

a++;

}

static?void?update(Koo?koo)?{

koo.a++;

}

static?void?update(Object?o)?{

o?=?(int)?(Integer.parseInt(o.toString())?+?1);

}

static?void?newUpdate(Koo?koo)?{

koo?=?new?Koo();

}

}

class?Koo?{

int?a?=?1;

}

/*

o?=?(int)?(Integer.parseInt(o.toString())?+?1);?這一行中的(int)純粹是多余的,是否有這個(gè)casting對(duì)code本身沒有任何影響.?如果你高興也可以用

o?=?new?Integer(Integer.parseInt(o.toString())?+?1);

或者干脆

o?=?Integer.parseInt(o.toString())?+?1;

*/

以上這些code運(yùn)行之后會(huì)得到1?2?1?2的結(jié)果.?后面兩個(gè)結(jié)果可以很好的說明,?即使對(duì)objects?(reference?type?variables)?來看,?Java所應(yīng)用的也并不是call?by?reference.?否則的話,以上code運(yùn)行結(jié)果應(yīng)該是1?2?2?1

希望你可以真正理解這個(gè)新的例子中,產(chǎn)生1212這個(gè)結(jié)果的原因,從而對(duì)Java中的arguments有一個(gè)系統(tǒng)全面的認(rèn)識(shí).

圖片是相關(guān)資料的鏈接,知道里貌似不能加網(wǎng)址

java代碼解讀

第一個(gè)if是判斷searchkey是不是空的,如果不是空的,就追加到name字段作為查詢條件,like模糊查詢

接著第二個(gè)if判斷如果status的值不為空,就追加到status作為條件

如果status為空,走else分支,從userContext中獲取到employee對(duì)象,接著判斷,如果它的角色不是manager的話

把這個(gè)對(duì)象的id拿出來,作為seller.Id的條件進(jìn)行查詢

java代碼大全及詳解的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于Java代碼大全、java代碼大全及詳解的信息別忘了在本站進(jìn)行查找喔。

掃描二維碼推送至手機(jī)訪問。

版權(quán)聲明:本文由飛速云SEO網(wǎng)絡(luò)優(yōu)化推廣發(fā)布,如需轉(zhuǎn)載請(qǐng)注明出處。

本文鏈接:http://www.atlasseeker.com/post/8043.html

標(biāo)簽: java代碼大全及詳解

“java代碼大全及詳解(Java代碼大全)” 的相關(guān)文章

渭南軟件開發(fā)(渭南軟件開發(fā)專業(yè))

渭南軟件開發(fā)(渭南軟件開發(fā)專業(yè))

今天給各位分享渭南軟件開發(fā)的知識(shí),其中也會(huì)對(duì)渭南軟件開發(fā)專業(yè)進(jìn)行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧!本文目錄一覽: 1、渭南榮耀科技傳媒有限責(zé)任公司怎么樣? 2、渭南博海網(wǎng)絡(luò)技術(shù)有限公司怎么樣? 3、陜西渭南APP開發(fā)建設(shè)公司哪家好 4、陜西航天信息有限公司...

有沒有做裝修直播平臺(tái)的(裝修行業(yè)如何做直播)

有沒有做裝修直播平臺(tái)的(裝修行業(yè)如何做直播)

今天給各位分享有沒有做裝修直播平臺(tái)的的知識(shí),其中也會(huì)對(duì)裝修行業(yè)如何做直播進(jìn)行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧!本文目錄一覽: 1、未來裝修行業(yè)直播能發(fā)展的像電商直播那樣嗎? 2、裝修網(wǎng)站排行榜前十名有哪些?哪個(gè)網(wǎng)站最好? 3、關(guān)于裝修的網(wǎng)站平臺(tái)有哪些 4、...

iphone信任軟件怎么設(shè)置(iphone哪里設(shè)置信任軟件)

iphone信任軟件怎么設(shè)置(iphone哪里設(shè)置信任軟件)

今天給各位分享iphone信任軟件怎么設(shè)置的知識(shí),其中也會(huì)對(duì)iphone哪里設(shè)置信任軟件進(jìn)行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧!本文目錄一覽: 1、蘋果手機(jī)軟件信任在哪設(shè)置 2、iphone信任軟件怎么設(shè)置的? 3、如何在蘋果手機(jī)中設(shè)置信任軟件? 蘋果手機(jī)軟件...

網(wǎng)頁在線一鍵生成app(網(wǎng)站一鍵生成器)

網(wǎng)頁在線一鍵生成app(網(wǎng)站一鍵生成器)

今天給各位分享網(wǎng)頁在線一鍵生成app的知識(shí),其中也會(huì)對(duì)網(wǎng)站一鍵生成器進(jìn)行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧!本文目錄一覽: 1、如何制作軟件app 2、怎么制作一個(gè)簡(jiǎn)單手機(jī)APP軟件?。?3、求一個(gè)html5網(wǎng)頁轉(zhuǎn)換到app的詳細(xì)步驟? 4、如何制作app軟...

cba積分榜最新排名表(cba個(gè)人積分榜最新排名)

cba積分榜最新排名表(cba個(gè)人積分榜最新排名)

今天給各位分享cba積分榜最新排名表的知識(shí),其中也會(huì)對(duì)cba個(gè)人積分榜最新排名進(jìn)行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧!本文目錄一覽: 1、2022年cba排名 2、cba排名積分榜 3、cba最新積分榜出爐 4、cba排名榜最新排名榜 5、新賽季cba排...

中國(guó)官網(wǎng)商標(biāo)查詢(中國(guó)商標(biāo)網(wǎng)官方查詢)

中國(guó)官網(wǎng)商標(biāo)查詢(中國(guó)商標(biāo)網(wǎng)官方查詢)

今天給各位分享中國(guó)官網(wǎng)商標(biāo)查詢的知識(shí),其中也會(huì)對(duì)中國(guó)商標(biāo)網(wǎng)官方查詢進(jìn)行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧!本文目錄一覽: 1、商標(biāo)注冊(cè)網(wǎng)查詢官網(wǎng)是哪個(gè)? 2、商標(biāo)注冊(cè)網(wǎng)查詢官網(wǎng)是什么? 3、怎樣在中國(guó)商標(biāo)網(wǎng)商標(biāo)查詢? 4、國(guó)內(nèi)商標(biāo)查詢?cè)趺床?5、國(guó)家商標(biāo)...