建個資料庫學生表,java鏈接資料庫對其進行操作,很多方法可以實現(mybatis,ibatis,jdbc),顯示在頁面就可以了
② Java面向對象程序編程
publicstaticvoidmain(Stringargs[]){
Scannerscanner=newScanner(System.in);
System.out.println("請輸入一個開始數字:");
inta=0;
try{
a=scanner.nextInt();
}catch(Exceptione){
System.out.println("輸數字不合法");
return;
}
System.out.println("請輸入一個結束數字:");
intb=0;
try{
b=scanner.nextInt();
}catch(Exceptione){
System.out.println("輸數字不合法");
return;
}
intsum=0;
if(a>b){
for(inti=b;i<=a;i++){
sum=sum+i;
}
}else{
for(inti=a;i<=b;i++){
sum=sum+i;
}
}
System.out.println(sum);
}
③ java面向對象程序設計
/*
對象的多態性:動物x=new貓();
函數的多態性:函數重載、重寫
1、多態的體現
父類的引用指向了自己的子類對象
父類的引用也可以接收自己的對象
2、多態的前提
必須是類與類之間只有關系,要麼繼承或實現
通常還有一個前提,存在覆蓋
3、多態的好處
多態的出現大大的提高了程序的擴展性
4、多態的弊端
只能使用父類的引用訪問父類的成員
5、多態的應用
6、注意事項
*/
/*
需求:
貓,狗。
*/
abstractclassAnimal
{
abstractvoideat();
}
classCatextendsAnimal
{
publicvoideat()
{
System.out.println("吃魚");
}
publicvoidcatchMouse()
{
System.out.println("抓老鼠");
}
}
classDogextendsAnimal
{
publicvoideat()
{
System.out.println("吃骨頭");
}
publicvoidkanJia()
{
System.out.println("看家");
}
}
classDuoTaiDemo
{
publicstaticvoidmain(String[]args)
{
function(newCat());
function(newDog());
Animala=newCat();//向上轉型
a.eat();
Catc=(Cat)a;//向下轉型
c.catchMouse();
}
publicstaticvoidfunction(Animala)
{
a.eat();
//用於子類型有限
//或判斷所屬類型進而使用其特有方法
if(ainstanceofCat)
{
Catc=(Cat)a;
c.catchMouse();
}
elseif(ainstanceofDog)
{
Dogc=(Dog)a;
c.kanJia();
}
}
}
④ java面向對象編程是什麼
面向對象編程的時候,我們會考慮到兩個問題,一個是類的定義,一個是實現對象,類經過實例化就是對象,比如現在有個類叫Student ,那麼用這個類生成個對象,就是這個樣子,Student s=new Student 這個s就是對象了。Student s 就是創建這個對象,=new Student() 就是在內存中真正的生成這個對象。我們在類里定義的一些方法,比如 public void show(){system.out.println('我是菜鳥')},那麼,因為當前的類不是個靜態類,所以這個方法是不能真正的實現的,說白了就是不能用 ,只有生成了這個類的對象才能實現這個方法,如 s.show(); 通過s調用 show 方法。
如果不能理解的話 你就記住凡是非靜態類,想要實現類里的方法或訪問類的屬性都必須創建並生成一個對象,格式就是 類名 對象名=new 類名(參數列表); 這個是死的東西,固定的格式,不能理解的壞就死背住。以後寫的多了 你就理解了。『
⑤ Java面向對象編程(OOP)是怎麼理解
Java是一個支持並發、基於類和面向對象的計算機編程語言。
代碼開發模塊化,更易維護和修改。
代碼復用。
增強代碼的可靠性和靈活性。
增加代碼的可理解性。
面向對象編程有很多重要的特性,比如:封裝,繼承,多態和抽象。
⑥ java面向對象編程求幫忙
一共三個類:ScoreArray.java、StudentScoreArray.java和Test1.java,具體為:
public class ScoreArray {
private int[] scores;
private int scoreCount;
public int[] getScores() {
return scores;
}
public int getScoreCount() {
return scoreCount;
}
//構造函數
public ScoreArray(int[] scores) {
this.scores = scores;
for (int score : scores) {
if (score >= 0 && score <= 100) {
this.scoreCount++;
}
}
}
//求最大值
public int getMax() {
int[] scores = this.scores;
int temp;
for (int i = 0; i < scores.length; i++) {
for (int j = 0; j < scores.length - 1 - i; j++) {
if (scores[j] > scores[j + 1]) {
temp = scores[j];
scores[j] = scores[j + 1];
scores[j + 1] = temp;
}
}
}
return scores[scores.length - 1];
}
//求最小值
public int getMin() {
int[] scores = this.scores;
int temp;
for (int i = 0; i < scores.length; i++) {
for (int j = 0; j < scores.length - 1 - i; j++) {
if (scores[j] > scores[j + 1]) {
temp = scores[j];
scores[j] = scores[j + 1];
scores[j + 1] = temp;
}
}
}
return scores[0];
}
//求均值
public double getAvg() {
int sum = 0;
for (int score : this.scores) {
sum += score;
}
return new BigDecimal(sum).divide(
new BigDecimal(this.scores.length),
2, BigDecimal.ROUND_HALF_UP).doubleValue();
}
//排序
public void sort() {
int temp;
for (int i = 0; i < this.scores.length; i++) {
for (int j = 0; j < this.scores.length - 1 - i; j++) {
if (this.scores[j] > this.scores[j + 1]) {
temp = this.scores[j];
this.scores[j] = this.scores[j + 1];
this.scores[j + 1] = temp;
}
}
}
}
//靜態說明類
public static void explain() {
System.out.println("本類[ScoreArray]實現了數組的:求最值[getMax()]、求均值[getAvg()]和排序[sort()]方法");
}
}
public class StudentScoreArray extends ScoreArray {
public StudentScoreArray(int[] scores) {
super(scores);
}
//統計
public void statistic() {
super.sort();
Map<Integer, Integer> map = new LinkedHashMap<>();
for (int i : super.getScores()) {
if (map.containsKey(i)) {
map.put(i, map.get(i) + 1);
} else {
map.put(i, 1);
}
}
map.forEach((k, v) -> System.out.println("分數為[" + k + "]的人數為:[" + v + "]"));
}
//靜態說明類
public static void explain() {
System.out.println("本類[StudentScoreArray]實現了數組的:求最值[getMax()]、求均值[getAvg()]、排序[sort()]和分布統計[statistic()]方法");
}
}
public class Test1 {
public static void main(String[] args) {
int[] scores = {59, 60, 82, 58, 71, 99, 0, 59, 65};
ScoreArray scoreArray = new ScoreArray(scores);
ScoreArray.explain();
System.out.print("數組內容:[");
for (int i : scoreArray.getScores()) {
System.out.print(i + " ");
}
System.out.println("]");
System.out.println("有效值個數:" + scoreArray.getScoreCount());
System.out.println("最大值:" + scoreArray.getMax());
System.out.println("最小值:" + scoreArray.getMin());
System.out.println("平均值:" + scoreArray.getAvg());
scoreArray.sort();
System.out.print("排序後數組內容:[");
for (int i : scoreArray.getScores()) {
System.out.print(i + " ");
}
System.out.println("]");
System.out.println("");
System.out.println("========華麗的分割線========");
System.out.println("");
StudentScoreArray studentScoreArray = new StudentScoreArray(scores);
StudentScoreArray.explain();
System.out.print("數組內容:[");
for (int i : studentScoreArray.getScores()) {
System.out.print(i + ",");
}
System.out.println("]");
System.out.println("有效值個數:" + studentScoreArray.getScoreCount());
System.out.println("最大值:" + studentScoreArray.getMax());
System.out.println("最小值:" + studentScoreArray.getMin());
System.out.println("平均值:" + studentScoreArray.getAvg());
studentScoreArray.sort();
System.out.print("排序後數組內容:[");
for (int i : studentScoreArray.getScores()) {
System.out.print(i + " ");
}
System.out.println("]");
System.out.println("分數分布統計:");
studentScoreArray.statistic();
}
}
其中對StudentScoreArray類我要特別說明一下:
統計分布情況時,使用了Map,map是一種key-value的數據結構,其有個特點被我所利用:一個map中只能同時存在一個key,所以我以分數為key,以數量為value,遍歷分數數組時,如果是第一次遇到這個key(分數),則將其value(數量)置為1;如果已經不是第一次遇見了,則將其value(數量)置為value + 1(數量 + 1)。另外需要遍歷這個map實現統計結果的列印,我這里使用了java8以後才支持的Lambda表達式,所以你要運行這個程序必須要使用jdk1.8以上的版本。如果你覺得這樣不妥,可以網上再搜一下map的遍歷方式。
運行結果:
測試用例都使用的數組:int[] scores = {59, 60, 82, 58, 71, 99, 0, 59, 65};
⑦ 什麼是java面向對象編程
面向對象編程(oop)旨在將現實世界中的概念模擬到計算機中,它將現實世界中的所以事物視作對象。對象是存在的具體實體,具有明確定義的狀態和行為。
⑧ 解釋下Java 面向對象編程
網路很快的……
java的面向對象:java最基本的特徵之一。對象是java最基本的封裝單位,要求編程時候將對象概括為類,類封裝對象的一些操作和數據。然後運用時候再將類實例化為對象
對象被稱作類的一個實例(Instance),而類是對象的模 版(Template) 類是多個實例的綜合抽象,而實例又是類的個體實物。 由於對象是類的實例,因此在定義對象之前應先定義類。定義了類之後,才 可以在類的基礎上創建對象。
⑨ 在JAVA中什麼是面向對象的程序設計方法有哪些主要特徵
答:Java是面向對象的程序設計語言,從面向對象這個角度看,體現了如下三個特點:
①封裝性
面向對象的程序設計語言都是把數據和處理數據的操作結合在一起而構成一個整體,這就是對象。對象的使用者只能看到對象的外部特性,比如,其主要功能、如何調用等,而看不到內部如何實現這些功能。作為面向對象的程序設計語言,程序中的數據就是變數,程序對數據作處理則稱為方法。變數和方法都被封裝在對象中。所以,一個對象就是變數和方法的集合,其中變數表明這個對象的狀態,方法實現這個對象所具有的行為,而且在程序中將這些變數和方法進行封裝,使它們成為一個模塊,再用一個名字來代表這個模塊。這樣,以後的更高層的程序設計中,就不必關心某個對象的行為到底是怎樣實現的。可見,將對象封裝就是為了使模塊盡可能少地展現其內部細節,而只是以一種界面來面向外部。
對象的封裝性減少了程序各部分之間的依賴,使程序的復雜性降低,而可靠性提高,並便於修改。
②繼承性
面向對象的程序設計中,對象是從類創建出來的,這一點即將在下面的解答中說明。在
Java中,許多類組成層次化結構。一個類的上一層稱為父類,而下一層稱為子類。一個類可以繼承其父類的變數和方法,而且這種繼承具有傳遞性。就是說,一個類可以繼承其上一層和其再上一層的變數和方法。這種可傳遞的繼承性使得下層多個相似的對象可以共享上層類的數據和程序代碼,而子類又可以在繼承父類的基礎上增添新的內容和功能。這種代碼共享和代碼可增添的繼承特性使Java既靈活方便又提高效率。
③通信相關性
一個對象往往涉及多個行為。體現在程序設計中,一個對象往往包含多個方法,每一個方法對應一個行為。所以,一個對象完成某個動作也就是程序執行相應的方法。於是,就涉及對象之間通過交互來實現復雜的行為,這叫對象之間的通信。
利用通信可以實現一個對象往另一個對象的信息傳遞。信息傳遞涉及三個要素;一是信息接收對象;二是接收對象中用哪個方法完成指定的動作;三是此方法需要的參數。由於信息傳遞的要素非常清晰,所以用在編程中也將很方便。
這種通信相關性使許多復雜功能得以實現,卻又能避免編程的錯綜復雜。
⑩ Java面向對象編程的內容簡介
《Java 面向對象編程》 內容由淺入深,緊密結合實際,利用大量典型實例,詳細講解Java面向對象的編程思想、編程語法和設計模式,介紹常見Java類庫的用法,總結Java編程的各種經驗,深入闡述Java虛擬機執行程序的原理。書中實例均基於最新的JDK 1.5版本。全書內容包括面向對象的編程思想、Java語言的基礎知識、異常處理、類與對象的生命周期、多線程、Java集合、輸入/輸出和GUI編程等。其最大特色是以六條主線貫穿全書:面向對象編程思想、Java語言的語法、Java虛擬機執行Java程序的原理、在實際項目中的運用、設計模式和性能優化技巧。