1. 程式人生 > >Java基礎篇運算子與if判斷

Java基礎篇運算子與if判斷

這裡是昨天未講完的內容!接上一天!
9.Java的運算子
算術運算子:+ - * / % ++ --
/ 除號右邊不能為0
++自增
i++-->i=i+1;
--自減
i--;-->i=i-1;

++i/--i;參與運算時 先自增 再運算

class Demo_1 
{
	public static void main(String[] arg)
	{
		int a = 1;
		int b = 2;
		//先賦值 再運算
		int aplus = a++;
		int bplus = b--;
		System.out.println("aplus  "+aplus);
		System.out.println("bplus  "+bplus);
		System.out.println("a---"+a);
		System.out.println("b---"+b);

		//先運算 再賦值
		int aa = ++a;
		int bb = --b;
		System.out.println("a---"+a);
		System.out.println("b---"+b);
		System.out.println("aplus  "+aa);
		System.out.println("bplus  "+bb);
	}
}

賦值運算子: = += -= *= /= %=
注意:
short b = 2;
b = b+3;//這是兩次運算 第一次相加 第二次賦值 不會自動轉型
b+=3;//一次運算 自動轉換型別
關係運算符:> < <= >= == !=
注意:
關係運算符結果只有 true/flase
邏輯運算子: ! & | ^ && ||


true & true = true 
true & false = false
false & ture = false 
false  & flase = false
只要兩邊的Boolean表示式結果 有一個為false 結果就是false
兩邊都為true 結果為true


true | true = true 
true | false = false
false | ture = false 
false  | flase = false
兩邊只要有一個為true 結果就是true
只有兩邊為false 結果才是false


true ^ true = false 
true ^ false = true
false ^ ture = true 
false  ^ flase = false
兩邊相同 結果為false
兩邊不同 結果為true


&& &的區別
對於:&   -- >  不管怎樣,都會執行"&"符號左右兩邊的程式
按位與:
a&b是把ab都轉換成二進位制數然後再進行與的運算;
對於:&& -- >  只有當符號"&&"左邊程式為真(true)後,才會執行符號"&&"右邊的程式。


||  |的區別
|兩邊都要運算
|| 當左邊為true 右邊就不算了

import java.util.Scanner;
class Demo_3 
{
	public static void main(String[] args) 
	{
	Test1();
	}
	public static void Test1()
	{
		Scanner sc = new Scanner(System.in);
		int age = sc.nextInt();
		System.out.println(age>18 && age<60);
	}
	public static void Test2()
	{
		Scanner sc = new Scanner(System.in);
		int age = sc.nextInt();
		System.out.println(age<12 || age>60);
	}
	public static void Test3()
	{
		Scanner sc = new Scanner(System.in);
		System.out.println("A:輸入等於或大於90 但小於100的數");
		int a=sc.nextInt();
		System.out.println(a>=90 && a<100);
		System.out.println("B:輸入不是字元q 也不是字元k的字元");
		String b = sc.next();
		System.out.println(b.charAt(0)!='q' && b.charAt(0)!='k');

		System.out.println("C:輸入1~9 但不包括5 的數");
		int c = sc.nextInt();
		System.out.println((c>1 && c<9) && c!=5);

		System.out.println("D:輸入一個不是1~9的數字");
		int d = sc.nextInt();
		System.out.println(d<1 && d>9);
	}
	public static void Tedt4()
	{
		Scanner sc = new Scanner(System.in);
		int year = sc.nextInt();
		System.out.println(((year % 4 == 0) && year % 100 == 0) && year % 400 == 0);
	}
	public static void Test5()
	{
		Scanner sc = new Scanner(System.in);
		String s = sc.next();
		char c = s.charAt(0);
		System.out.println(c>65 && c<90);
	}
}

位運算子:   & | ^ ~ >> << >>>


<<左移運算子
移動n位就是乘以2的n次冪 右側補(最高位是什麼補什麼)
>>右移運算子 帶符號右移
移動n位就是除以2的n次冪 左側補
>>>無符號右移運算子
無論最高位是什麼 右移後都補0
& 按位與
0--> false
1--> true
6 & 3 = 2

110
    &  011
    ------
       010 -->2
| 按位或
6 | 5 = 7


110
     | 101
     -----
       111 -->7
^ 按位異或
相同為false 0 不同為true 1
一個數異或一個數兩次,結果不變

6 ^ 5 = 3

110
     ^ 101
     -----
       011 -->3
~ 按位取反
0-->1 1-->0
小知識:兩個整數交換值的三種方法
1.使用第三方變數
2.int a,int b;
 a=a+b;
 b=a-b;
 a=a-b;
3.int n=3,m=6;
 n = n^m;
 m = n^m;
 n = n^m;
字串連結符號: +
字串資料和任何資料使用 + 都是你相連線的意思 最後都會變成字串
System.out.println("6+6"+6+6);

三元運算子/三目運算子
格式:關係表示式 ? 表示式1 : 表示式2
boolean

關係表示式結果為true 則判斷表示式1 false則判斷表示式2

class Demo_4 
{
	public static void main(String[] args) 
	{
		//1.用三目運算子 比較兩個整數是否相等
		int a = 10;
		int b = 20;
		boolean b1 = (a==b) ? true : false;
		System.out.println(b1);

		//2.獲取三個整數中的最大值
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
int c = sc.nextInt();
int temp = (a>b)?a:b;
int max = (temp>c)?temp:c;
System.out.println(max);
	}
}


10.運算子的優先順序和轉義字元
賦值運算子 從左往右看


轉義字元:用在字串中 用來定製字串的輸出格式的特殊符號
\t 一個退格鍵
\n 換行 (linux unix)
\r 回車(在windows下 換行 \r\n)
\' 單引號
\" 雙引號
\\
String s="哥們兒,\r\n最近還好嗎?\t有沒有看\r\n\"星球大戰\"?'男'豬腳\\叫什麼來著?";


程式流程控制,結構化程式有三種結構
1.順序結構:從上向下 一行行程式碼執行
2.分支結構(選擇結構)
3.迴圈結構
二,分支語句
為什麼要用分支?
當程式面臨選擇的時候,每一種選擇對應一種操作(結果)

1.if語句
1.1
結構:if(表示式) --->關係表示式 和 邏輯表示式組成
    {
       執行語句;
    }
執行流程:
a.當程式執行到if的時候 先去判斷表示式分的結果 true還是false
b.如果表示式的值是true 就執行{}裡的語句 一條if語句結束
c.如果表示式的值是false 就不執行{}裡的語句
2.if...else語句
2.1
結構:if(表示式) --->關係表示式 和 邏輯表示式組成
    {
       執行語句;
    }
    else
    {
執行語句;
    }
執行流程:
a.當程式執行到if的時候 先去判斷表示式分的結果 true還是false
b.如果表示式的值是true 就執行{}裡的語句 一條if語句結束
c.如果表示式的值是false 就執行else{}裡的語句
import java.util.Scanner;
class Demo_6 
{
	public static void main(String[] args) 
	{
		Scanner sc= new Scanner(System.in);
		/*int a=sc.nextInt();
		int b= sc.nextInt();
		if(a>b)
		{
			System.out.println(a+" "+b);
		}
		if(b>a)
		{
			System.out.println(b+""+a);
		}*/
		/*int c= sc.nextInt();
		if(c%2==0)
		{
			System.out.println(c+"是偶數");
		}
		else
		{
			System.out.println(c+"是奇數");
		}*/
		String s= sc.next();
		char a=s.charAt(0);
		if(a=>65&&a<=90)
		{
			a +=32;
		}
		System.out.println(a);
		//System.out.println("哥們兒,\r\n最近還好嗎?\t有沒有看\r\n\"星球大戰\"?'男'豬腳\\叫什麼來著?");
	}
}

家庭作業!!!

1.輸入1~7顯示對應的日期

2.判斷質數

import java.util.Scanner;
import java.lang.Math;
class Homework 
{
	public static void main(String[] args) 
	{
		homework2();
	}
	public static void homework1()
	{
		Scanner sc = new Scanner(System.in);
		int a= sc.nextInt();
		if(a==1)
		{
			System.out.println("今天是星期一");
		}
		if(a==2)
		{
			System.out.println("今天是星期二");
		}
		if(a==3)
		{
			System.out.println("今天是星期三");
		}
		if(a==4)
		{
			System.out.println("今天是星期四");
		}
		if(a==5)
		{
			System.out.println("今天是星期五");
		}
		if(a==6)
		{
			System.out.println("今天是星期六");
		}
		if(a==7)
		{
			System.out.println("今天是星期天");
		}
	}
	public static void homework2()
	{
		Scanner sc= new Scanner(System.in);
		int a=sc.nextInt();
		int k=(int)Math.sqrt(a);
		int i;
		for(i=2;i<=k;i++)
		{
			if(a%i==0)
				break;
		}
		if(i>k)
			System.out.println("這個數是質數");
		else
			System.out.println("這個數不是質數");
	}
}
今天依舊手殘!70字/秒!

相關推薦

Java基礎運算子if判斷

這裡是昨天未講完的內容!接上一天! 9.Java的運算子算術運算子:+ - * / % ++ --/ 除號右邊不能為0++自增i++-->i=i+1;--自減i--;-->i=i-1;++i/--i;參與運算時 先自增 再運算 class Demo_1 {

Java 基礎之類物件

類與物件 類、物件和引用的關係 類和物件的關係 類是物件的模版,物件是類的一個例項,一個類可以有很多物件 一個Java程式中類名相同的類只能有一個,也就是型別不會重名 一個物件只能根據一個類來建立 引用和類以及物件的關係 引用只能指向其所屬的型別的類的物件 相同型別的引用之間可以賦值 只能通過指向一個物

java基礎之nioaio

sre 非阻塞 只有一個 accept ava 使用步驟 截取 city writable 1.同步和異步 同步:指一個任務運行完以後接著運行下一個任務 異步:接到一個任務後開啟一個新的線程運行此任務,基本不占用原線程時間 2.阻塞與非阻塞 阻塞:多個線程同時訪問一份數據時

Java基礎之常量、變數、運算子

資料型別 : Java中的基本型別功能簡單,不具備物件的特性,為了使基本型別具備物件的特性,所以出現了包裝類,就可以像操作物件一樣操作基本型別資料。 基本型別對應的包裝類 基本型別 byte int short long float double boolean char 包裝型別

Java基礎(三)--- 抽象類,介面,final,單目運算子

多型 ①父類引用指向子類: java允許父類的引用變數引用它的子類的例項(物件) Animal animal = new Cat(); 這種轉換是自動完成的 子類在一定條件下是可以轉換為父類的 ②繼承: 類的單繼承和介面的多繼承,都能體現多型 ③重寫、過載 過載:同一個類的同名函式(方法的引

JAVA基礎-3.運算子,鍵盤錄入,if語句

1:運算子(掌握) (1)算術運算子 A:+,-,*,/,%,++,– B:+的用法 a:加法 b:正號 c:字串連線符

Java基礎——深克隆淺克隆

基本定義 克隆,顧名思義,即是產生一個與原物件“完全”一樣的一個新物件。這裡的一樣,或許是表面的一樣,或許是真的一樣。這就牽扯到兩個新定義:淺克隆於深克隆。 淺克隆:新物件的基礎型別的變數值與原物件相同,而特殊物件,即非八大基本型別的物件與原物件指向同一記憶體空間,不管新

Java基礎——使用三元運算符判斷一個數的奇偶性

print sta stat ont strong scan ron -s color 要求:   使用三元運算符判斷一個數的奇偶性 實現代碼: /** * 使用三元運算符判斷用戶輸入的一個數的奇偶性 */ import java.util.Scanner; pu

js基礎第二天(if判斷語句)

執行 部分 nbsp -s cnblogs 簡單 ges logs mat if是js比較重要的部分,內容比較簡單,單是在工作中是用的最多的。今天已經把表單的部分補齊了。 If...else 條件判斷 if(條件表達式){ 如果條件是true,執行該處代

Java基礎】RTTI反射之Java

start auth try dword star sse from tac sed 1 ; Example assembly language program -- 2 ; Author: Karllen 3 ; Date: revised 05/2014

JAVA基礎—接口實現動態創建對象

一個 n) ges pack out string sta else if stat Scanner在控制臺輸入內容 package com.Fruit; public interface Fruit {//提供接口 } package com.Fruit; public

JAVA基礎—抽象類,抽象方法

java b- rec package rate idt -c over stub class Shape 1 package com.shape; 2 3 public abstract class Shape { 4 double area;//

JAVA基礎—Servlet小結

組件 一個 另一個 操作 默認 list 變化 nbsp tor 一、get請求和post請求的區別: 1.get請求是通過url傳遞參數,post請求是通過請求體傳遞參數的 2.get請求最多允許傳遞255個字符,對長度有限制,所以數據比較大的時候我們使用post請求

JAVA基礎—文件上傳下載

mime contain comm jsp style javax bstr trace ace /index.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" page

面試準備&總結-Java基礎

logs 服務器 運行 錯誤 筆記 table code 其他 pro   在vps的服務器到期了,在hw又不能訪問,直接在博客園寫筆記了。 基礎篇 1. 集合類的繼承關系,源碼實現原理,初始大小和如何增長。 - list類初始大小10,加載因子為1,擴容到1.5+1。

Java基礎 第一天

javac inline 配置環境 安全性 rac jar 面向對象 開發 成功 1991年出生第一個名字oak 1994年更名為Java 2009年被Oracle收購 目前最高版本Java 9 本課程學習用的JDK1.7 Java語言特點:簡單性 解釋性 面向對象 高性能

java基礎 抽象類接口

重要 自身 接口 多繼承 bst 文件 其他 ron 不同 抽象類:   在面向對象的領域一切都是對象,所有的對象都是通過類來描述的。如果我們要定義的一個類沒有足夠的信息來描述一個具體的對象,還需要其他的具體類來支持,這個時候我們可以考慮使用抽象類。在類定義的前面增加abs

JAVA基礎知識|lambdastream

view 兩個 方法 testcase alt except 上海 sort unit lambda與stream是java8中比較重要兩個新特性,lambda表達式采用一種簡潔的語法定義代碼塊,允許我們將行為傳遞到函數中。之前我們想將行為傳遞到函數中,僅有的選擇是使用匿名

Java基礎02 方法數據成員

ring .get 創建 nts get bar 轉載 聲明 數值 作者:Vamei 出處:http://www.cnblogs.com/vamei 歡迎轉載,也請保留這段聲明。謝謝! 在 Java基礎01 從HelloWorld到面向對象 ,我們初步了解了對象(o

Java基礎04 封裝接口

錯誤提示 beep struct 成員 test stat ... 開關 style 作者:Vamei 出處:http://www.cnblogs.com/vamei 歡迎轉載,也請保留這段聲明。謝謝! 總結之前的內容,對象(object)指代某一事物,類(clas