日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

JAVA学习博客---2015.5

發(fā)布時間:2023/12/9 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JAVA学习博客---2015.5 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

? ? 上一次的學(xué)習(xí)博客寫的和流水賬差不多,有點生硬的和背目錄一樣,所以既然學(xué)習(xí)的目的是程序,那么這個月的學(xué)習(xí)博客就用程序來說點東西吧。這個月看了一些C和JAVA的視頻,開始看別人寫的程序,能看的懂但是自己去寫的話前后邏輯還有方法類的使用不是很清楚。好吧,先去膜拜大神,一步一步來吧。

?

? 先來說一個C的程序。這個程序是把一個十進制的數(shù)字轉(zhuǎn)成二進制的編碼,十進制當(dāng)中是逢十進一,二進制逢二進一,無論是什么樣的語言寫的任何程序,在計算機里面的記錄方法均為二進制。

#include<iostream> using namespace std; int main() {int T;cin >> T;while(T--){unsigned int n;char bas[30];cin >> n;unsigned int k = 0;if(n == 0)cout<<0;else{while(n){if(n & 1)bas[k++] = '1';elsebas[k++] = '0';n >>= 1;}}for(int i=k-1;i >= 0;i--){cout << bas[i];}cout << endl;} }

?

?

?#include<iostream>
這個是C的標(biāo)準(zhǔn)I/O頭文件,標(biāo)準(zhǔn)庫定義了 4 個 IO 對象。處理輸入時使用命名為 cin(讀作 see-in)的 istream 類型對象。這個對象也稱為標(biāo)準(zhǔn)輸入。處理輸出時使用命名為 cout(讀作 see-out)的 ostream 類型對象,這個對象也稱為標(biāo)準(zhǔn)輸出。

程序里面有輸入輸出的內(nèi)容所以這個是必不可少的???????????????????????????????????????????????????????????????????????????????????? using namespace std;

namespace是指標(biāo)識符的各種可見范圍。命名空間用關(guān)鍵字namespace 來定義。命名空間是C++的一種機制,用來把單個標(biāo)識符下的大量有邏輯聯(lián)系的程序?qū)嶓w組合到一起。此標(biāo)識符作為此組群的名字。

即讓std內(nèi)定義的所有標(biāo)示符都是有效,相當(dāng)于一個全局變量。

int char

這些標(biāo)示符是用來聲明變量的類型,int整數(shù),char符號。在這個程序當(dāng)中聲明了T為int類型,把bas為char字符變量。

?????? if else

標(biāo)準(zhǔn)的if語句,即如果,不然。用來建立條件入口。

?? while

循環(huán)語句,計算機的一種基本循環(huán)模式。當(dāng)滿足條件時進入循環(huán),不滿足跳出。這里的程序要求用戶輸入一個變量的T,入口條件當(dāng)T--?? unsigned int? 在函數(shù)體內(nèi)用到了unsigned int, 是使用無符號的整數(shù)類型。 char bas[30]; 建立一個數(shù)組長度為30的char 數(shù)組。 for(int i=k-1;i >= 0;i--) for循環(huán)條件入口,當(dāng)整數(shù)i等于k-1,且i>=0,就i--,若第一個條件為假,后面的算式就不執(zhí)行了。 看明白這個程序還有一個很重要的東西就是明白十進制轉(zhuǎn)化為二進制的原理,基本的算法是這樣的。 用x表示十進制的x,假定x變成2進制后的數(shù)為三位abc,其中a為最高位,b為次高位,c為最低位。

則有 x = a*2^2 + b*2^1 + c*2^0= 4a+2b+c
所以
x%2 = c,
x/2 = a*2 + b
令x=x/2,則x=a*2+b
x%2 = b,
x/2 = a
令x=x/2,則x=a
x%2 = a
x/2 = 0
故每一步的余數(shù)為:
c, b, a
把它們顛倒,就得到a,b,c

原理只有一條,可以證明/看出每次除以2的余數(shù)正好是2進制的每一個數(shù)。(……看了好半天……)
這個是一個非常短的程序,一個很實用的小工具,它可以作為一個方法放到一個class當(dāng)中,也可以把這個當(dāng)做父類做繼承。 ? ? 現(xiàn)在來說一個JAVA程序。 import javax.swing.JOptionPane; // program uses JOptionPanepublic class Converter {public static void main(String args[]) {String firstNumber;double number1 = 0;double number2 = 0;boolean loop = true;while (loop) {firstNumber = JOptionPane.showInputDialog("請輸入華氏溫度");try {number1 = Double.parseDouble(firstNumber);loop = false;} catch (NumberFormatException e) {// (2)當(dāng)用戶輸入錯誤數(shù)據(jù)時候,提示用戶輸入錯誤,并要求用戶重新輸入內(nèi)容。JOptionPane.showMessageDialog(null, "輸入錯誤,請重新輸入華氏溫度.", "輸入",JOptionPane.PLAIN_MESSAGE);}}// 攝氏度=(5/9)*(華氏度-32) , 即 攝氏度=(華氏度-32)÷1.8// secondNumber = JOptionPane.showInputDialog("輸入被乘數(shù)");number2 = (number1 - 32) / 1.8;JOptionPane.showMessageDialog(null, number1 + "華氏度 = " + number2+ "攝氏度", "結(jié)果", JOptionPane.PLAIN_MESSAGE);} // end method main } // end class Addition

  


?這是一個將華氏度轉(zhuǎn)化成為一個攝氏度的程序

//后面是注釋,程序不讀這些內(nèi)容

當(dāng)然這個程序的算法也是基于華氏度和攝氏度的轉(zhuǎn)化算法

攝氏度=(5/9)*(華氏度-32)

程度考慮到用戶輸入錯誤的情況。

?

感覺C和JAVA有種不一樣的使用方法,JAVA喜歡調(diào)用很多已有的東西,C喜歡設(shè)定一些規(guī)則。

?

-------------------------------------------------------------------------------

因為主要是去學(xué)JAVA的,所以現(xiàn)在主要看別人寫的JAVA代碼,先去明白基本的規(guī)則,目前還是很菜,在敲別人的代碼的同時去想別人為什么這么寫,這樣的設(shè)計有什么好處,或者這些代碼能不能夠作為其他程序的一個方法。TUT。

轉(zhuǎn)載于:https://www.cnblogs.com/hello-2015/p/4523694.html

總結(jié)

以上是生活随笔為你收集整理的JAVA学习博客---2015.5的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。