零基礎(chǔ)編程難學(xué)嗎 零基礎(chǔ)如何學(xué)好Java開(kāi)發(fā)。java屬于一種編程語(yǔ)言,一種人和機(jī)器溝通的語(yǔ)言,僅此而已,跟我們平時(shí)學(xué)習(xí)母語(yǔ),英語(yǔ)并無(wú)不同,都是從零開(kāi)始學(xué)。
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)建站!專(zhuān)注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、重慶小程序開(kāi)發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶(hù)創(chuàng)新互聯(lián)還提供了項(xiàng)城免費(fèi)建站歡迎大家使用!
有些人說(shuō)學(xué)java難,也有些人說(shuō)學(xué)java容易,那到底是難還是容易呢,我是覺(jué)得每個(gè)人的難易標(biāo)準(zhǔn)并不相同,習(xí)慣說(shuō)不的人,總會(huì)放大困難,給自己設(shè)置障礙。所以,我們不能因?yàn)楹芏嗤庑腥诵麚P(yáng)著java有多難,就因此打退堂鼓,認(rèn)為自己不夠聰明,肯定學(xué)不來(lái),其實(shí)我們?cè)趯W(xué)習(xí)java的過(guò)程中只要你掌握了編程的本質(zhì)和邏輯關(guān)系,那么編程語(yǔ)言,開(kāi)發(fā)平臺(tái),編譯工具都不是問(wèn)題。
零基礎(chǔ)學(xué)java難嗎?對(duì)于零基礎(chǔ)的學(xué)生來(lái)說(shuō),想學(xué)Java確實(shí)也不是一件簡(jiǎn)單的事情。尤其是初學(xué)者手還很生,可能一小時(shí)代碼可以敲出來(lái),但是運(yùn)行不起來(lái),如果是一個(gè)有經(jīng)驗(yàn)的程序員可以在很短時(shí)間內(nèi)進(jìn)行調(diào)試,并修復(fù)bug,讓程序跑起來(lái)。不過(guò)這些問(wèn)題都會(huì)跟隨著經(jīng)驗(yàn)的增長(zhǎng),敲代碼量的積累,慢慢的去磨練自己,自然就會(huì)成為有經(jīng)驗(yàn)的程序員,只要用心學(xué)就一定能學(xué)會(huì)。
再次強(qiáng)調(diào)想學(xué)好java,不需要擔(dān)心自己的數(shù)學(xué)和英語(yǔ)有多差,只要自己平時(shí)能多練習(xí)做項(xiàng)目,參考別人的項(xiàng)目,自己積累經(jīng)驗(yàn)就行。
我記得有這樣的一句話(huà),很經(jīng)典,好像是李嘉誠(chéng)說(shuō)的吧。
“當(dāng)我騎自行車(chē)時(shí),別人說(shuō)路途太遠(yuǎn),根本不可能達(dá)到目的地,我沒(méi)理,半道上我換成小轎車(chē);當(dāng)我開(kāi)小轎車(chē)時(shí),別人說(shuō),不要再往前開(kāi),前面就是懸崖峭壁沒(méi)路了,我沒(méi)理,繼續(xù)往前開(kāi),開(kāi)到懸崖峭壁我換飛機(jī)了,結(jié)果我去到了任何我想去的地方“。
所以,修行還是要靠自己,難不難何必讓別人給你設(shè)立標(biāo)準(zhǔn)?只要你想做,下一秒就能開(kāi)始。不要讓你的夢(mèng)想毀在別人的嘴里,因?yàn)閯e人不會(huì)對(duì)你的夢(mèng)想負(fù)責(zé)。
寫(xiě)在java類(lèi)文件中。
第一步:在需要添加代碼的項(xiàng)目上右擊,選擇“new”。
第二步:之后選擇“class”類(lèi),之后在“Name”欄輸入“class”類(lèi)名字。
第三步:點(diǎn)擊“Finsh”,之后再java類(lèi)中編寫(xiě)需要的代碼即可。
java基本編程思路:
第一步:寫(xiě)框架(內(nèi)層和外層):
public class?類(lèi)名{//外層
public static void main(String[ ] args){//內(nèi)層
}
}
第二步:看題目中是否有“接收”“輸入”“錄入”等字眼,則導(dǎo)入util包,創(chuàng)建Scanner掃描儀對(duì)象:
import??java.util.Scanner;//寫(xiě)在文件的第一行
Scanner??input = new Scanner(System.in);//寫(xiě)在main方法中的第一行
第三步:編寫(xiě)main方法中的主體代碼
A、接收、輸入、錄入:
System.out.println(“提示信息”);
數(shù)據(jù)類(lèi)型??變量名=__掃描數(shù)據(jù)___;
說(shuō)明:掃描不同類(lèi)型的數(shù)據(jù),使用不同的掃描方法。以下介紹了常用的類(lèi)型的掃描方法。
int型?????使用nextInt();
String型?????使用next ()或nextLine();
double型??????使用nextDouble();
B、計(jì)算:算術(shù)運(yùn)算等
C、輸出:
System.out.println(輸出的內(nèi)容);
或者
System.out.println(“提示內(nèi)容:”+輸出的內(nèi)容);
1.首先思考一下制作計(jì)算器需要哪些Swing組件,下面列出一些制作計(jì)算器的一些常用組件:
JFrame ? ?Jpanel ? ?JButton ? ? JTextField
2.選用布局管理器:
這里采用的是GridBagLayout,即網(wǎng)格包布局管理器。
3.如何處理按鈕事件:
這里可以分兩種情況來(lái)考慮,一:處理0~9的數(shù)字按鈕和"."按鈕,這種按鈕的單擊事件很簡(jiǎn)單,只需要獲取監(jiān)聽(tīng)的對(duì)象,并在文本框中顯示對(duì)象的數(shù)據(jù)即可。
二:處理操作按鈕即文本為+,-,*,/,C(清除),D(刪除)和=的按鈕,這些按鈕的事件處理稍微復(fù)雜。
4.具體實(shí)現(xiàn)代碼如下:
1.創(chuàng)建Calculator類(lèi),該類(lèi)繼承自JFrame類(lèi)
[java]?view plain?copy
import?java.awt.BorderLayout;
import?java.awt.GridBagConstraints;
import?java.awt.GridBagLayout;
import?java.awt.event.ActionEvent;
import?java.awt.event.ActionListener;
import?javax.swing.JButton;
import?javax.swing.JFrame;
import?javax.swing.JOptionPane;
import?javax.swing.JPanel;
import?javax.swing.JTextField;
public?class?Calculator?extends?JFrame?{
private?static?final?long?serialVersionUID?=?1L;
private?JTextField?jtf=new?JTextField();
private?JPanel?panel=new?JPanel();
private?GridBagLayout?gridbaglayout=new?GridBagLayout();
private?GridBagConstraints?constraints=new?GridBagConstraints();
private?int?select=0;
//????private?String?command="";
private?double?temp=0.0;
private?double?number;
public?Calculator(){???????????????????????????????????????????????????????????//創(chuàng)建Calculator類(lèi)的構(gòu)造方法
this.setTitle("計(jì)算器");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.add(jtf,BorderLayout.NORTH);
this.add(panel,?BorderLayout.CENTER);
panel.setLayout(gridbaglayout);???????????????????????????????????????????//將panel面板設(shè)置成網(wǎng)格包布局管理器
this.add(panel);
jtf.setHorizontalAlignment(JTextField.RIGHT);?????????????????????????????//文本靠右
ActionListener?nums=new?CalculatorAction1();
ActionListener?opin=new?CalculatorAction2();
constraints.fill=GridBagConstraints.BOTH;
//??????constraints.weightx=0.1;
//??????constraints.weighty=0.1;
constraints.gridheight=GridBagConstraints.REMAINDER;
addButton("",nums);
constraints.gridheight=1;
addButton("C",opin);
addButton("7",nums);
addButton("4",nums);
addButton("1",nums);
constraints.gridheight=GridBagConstraints.REMAINDER;
addButton("%",nums);
constraints.gridheight=1;
addButton("D",opin);
addButton("8",nums);
addButton("5",nums);
addButton("2",nums);
constraints.gridheight=GridBagConstraints.REMAINDER;
addButton("0",nums);
constraints.gridheight=1;
addButton("/",opin);
addButton("9",nums);
addButton("6",nums);
addButton("3",nums);
constraints.gridheight=GridBagConstraints.REMAINDER;
addButton(".",nums);
constraints.gridheight=1;
addButton("*",opin);
addButton("-",opin);
addButton("+",opin);
constraints.gridheight=GridBagConstraints.REMAINDER;
addButton("=",opin);
}
private?void?addButton(String?str,ActionListener?list){?????????????????????//添加按鈕方法
JButton?button=new?JButton(str);
if(str.equals("")||str.equals("%")){
button.setEnabled(false);
}
button.addActionListener(list);??????//向按鈕添加事件
gridbaglayout.setConstraints(button,?constraints);
panel.add(button);???????????????????//將按鈕添加到JPanel容器中
}
class?CalculatorAction1?implements?ActionListener{???????????????????????//創(chuàng)建內(nèi)部類(lèi)并實(shí)現(xiàn)ActionListener接口,實(shí)現(xiàn)數(shù)字按鈕的監(jiān)聽(tīng)事件
public?void?actionPerformed(ActionEvent?e){
String?input?=?e.getActionCommand();
//??????????System.out.println(input);
jtf.setText(jtf.getText()+input);???//在文本中顯示用戶(hù)單擊的按鈕文本內(nèi)容
}
}
class?CalculatorAction2?implements?ActionListener{??????????????????????//創(chuàng)建內(nèi)部類(lèi)并實(shí)現(xiàn)ActionListener接口,實(shí)現(xiàn)操作按鈕的監(jiān)聽(tīng)事件
public?void?actionPerformed(ActionEvent?e){
String?command=e.getActionCommand();
if(command.equals("+")){
temp=Double.parseDouble(jtf.getText());
jtf.setText("");
select=1;
}
if(command.equals("-")){
temp=Double.parseDouble(jtf.getText());
jtf.setText("");
select=2;
}
if(command.equals("*")){
temp=Double.parseDouble(jtf.getText());
jtf.setText("");
select=3;
}
if(command.equals("/")){
temp=Double.parseDouble(jtf.getText());
jtf.setText("");
select=4;
}
if(command.equals("C")){
jtf.setText("");
}
if(command.equals("D")){
jtf.setText(jtf.getText().substring(0,?jtf.getText().length()-1));
}
if(command.equals("=")){
if(select==1){
number=Double.parseDouble(jtf.getText());
jtf.setText((temp+number)+"");
}
else?if(select==2){
number=Double.parseDouble(jtf.getText());
jtf.setText((temp-number)+"");
}
else?if(select==3){
number=Double.parseDouble(jtf.getText());
jtf.setText((temp*number)+"");
}
else?if(select==4){
number=Double.parseDouble(jtf.getText());
if(number==0){
JOptionPane.showMessageDialog(panel,?"除數(shù)不能為0");
}
else
jtf.setText((temp/number)+"");
}
}
}
}
}
2.創(chuàng)建CalculatorTest類(lèi)
[java]?view plain?copy
public?class?CalculatorTest?{
public?static?void?main(String[]?args)?{
Calculator?mainFrame=new?Calculator();
mainFrame.setBounds(300,?200,?200,?200);
mainFrame.setVisible(true);
mainFrame.setResizable(false);
}
}
閱讀全文
創(chuàng)建Java源程序
Java源程序一般用java作為擴(kuò)展名,是一個(gè)文本文
件,用Java語(yǔ)言寫(xiě)成,可以用任何文本編輯器創(chuàng)建
與編輯;
編譯源程序
Java編譯器,“javac”,讀取你的Java源程序并翻譯
成Java虛擬機(jī)能夠明白的指令集合,且以字節(jié)碼的
形式保存在文件中。通常,字節(jié)碼文件以class作為
擴(kuò)展名;
運(yùn)行class(字節(jié)碼)文件
Java解釋器讀取字節(jié)碼,取出指令并且翻譯成計(jì)算
機(jī)能執(zhí)行的代碼,完成運(yùn)行過(guò)程;
Java代碼之于java程序員而言就是左膀右臂,java代碼寫(xiě)的好的java程序員明顯更是企業(yè)的歡迎,一個(gè)優(yōu)秀的java程序員的考核標(biāo)準(zhǔn)之一也是看他的編程水平。
其實(shí)有的java程序員java代碼會(huì)受到大家的追捧,是因?yàn)樗趯?xiě)代碼時(shí)注意的細(xì)節(jié)往往多于那些不怎么關(guān)注java代碼編程細(xì)節(jié)的程序員,俗話(huà)說(shuō):“細(xì)節(jié)決定成敗”,那么如何寫(xiě)出好的java代碼呢?IT培訓(xùn)介紹一起來(lái)討論下:
1.重視注釋
有的java程序員在寫(xiě)代碼時(shí),從來(lái)沒(méi)有想過(guò)要在java代碼后加上相關(guān)的注釋?zhuān)踔潦巧先f(wàn)行的代碼也沒(méi)有想過(guò)加上注釋?zhuān)@就存在很大的問(wèn)題,不說(shuō)你的代碼會(huì)跟其他人分享討論,就你自己回顧你是怎么寫(xiě)好這篇代碼的,你也是半天無(wú)法理出頭緒,這就為維護(hù)和修改等等工作添加了很大的麻煩。所以,要想寫(xiě)出好的java代碼,一定從簡(jiǎn)短的java代碼編寫(xiě)開(kāi)始注重在java代碼后面加上相應(yīng)的注釋?zhuān)B(yǎng)成良好的習(xí)慣。
2.重視排版整潔
看很多java程序員的排版總覺(jué)得在欣賞一幅藝術(shù)品,但是看到一些java程序員的排版卻總覺(jué)得無(wú)力吐槽。同樣是編寫(xiě)代碼,但是給人的視覺(jué)體驗(yàn)是相當(dāng)?shù)牟煌?,?dāng)然好的java代碼給人的享受也是美的,所以要想寫(xiě)出好的代碼,一定要重視排版整潔。
3.注重命名規(guī)則
現(xiàn)在在一個(gè)團(tuán)隊(duì)開(kāi)發(fā)中,都會(huì)提前定制一個(gè)統(tǒng)一的命名規(guī)則,這樣利于提高工作效益。但是很多java程序員是缺乏這個(gè)意識(shí)的,每次敲代碼,更喜歡按照自己慣常的方式老命名模塊、函數(shù),這樣是方便了自己,但是忽視團(tuán)隊(duì)協(xié)作,所以在日常工作中,特別是團(tuán)隊(duì)工作中一定要重視命名規(guī)則。
4.養(yǎng)成備份習(xí)慣
備份的重要性不用小編強(qiáng)調(diào),相必你也知道。但是有的java程序員就是沒(méi)有養(yǎng)成這樣的好習(xí)慣,每次敲完代碼就不記得隨手保存,每次等到除了事故,比如電腦出了故障,辛辛苦苦敲打的java代碼沒(méi)保存找不回來(lái)的情況下就開(kāi)始懊惱,與其這樣還不如在一開(kāi)始就養(yǎng)成良好的備份習(xí)慣,這樣也方便自己日后查找利用。