zoukankan      html  css  js  c++  java
  • java基础

    java基础

    2020/9/2 17:22:23


    计算机常识

    硬件
    	CPU、内存(临时存储数据,例如:变量...)、硬盘(永久存储数据,例如:记事本文件、mp4影音文件...)、
    	主板、显卡、电源、风扇、鼠标、键盘...
    软件
    	系统软件 --> 	windows家族,mac家族、Unix、Linux、Dos(字符命令)、安卓、苹果、塞班、其他
    	应用软件 -->	wps、暴风影音、...
    

    Java 常识

    Java SE --  基础、可实现桌面程序开发
    Java EE	--  企业及开发,可实现互联开发
    Java ME --  移动端开发(被安卓替换了)
    
    常见名词
    JDK --	java的开发(编译)环境,官网下载安装
    JRE	--	java的运行(执行)环境,安装jdk后即拥有。
    JVM	--	java虚拟机,安装jdk后即拥有
    API	--	官网文档
    IDE	--	集成开发环境,例如 eclipse、IDEA、nbncre
    

    java环境安装与配置

    (1)去官网下载,JDK-1.8.162
    (2)安装JDK
    (3)配置环境变量(告知dos你的jdk在哪里存放)
    	找打jdk的bin路基:C:Program FilesJavajdk1.8.0_162in
    	我的电脑--属性--高级系统设置--高级--环境变量--Path,
    		编辑path ,值首字符前追加,C:Program FilesJavajdk1.8.0_162in; (注意以分号做结束)
    	测试环境
    		开始-- 运行-- cmd
    		javac -version
    		成功可看到:javac 1.8.0_162
    

    java的第1个小程序

    编写java源码,打印Hello World
    
    	第1步:创建记事本,修改文件名HelloWorld ,修改扩展名.java
    	第2步:创建HelloWorld类
    		public class 自定义类名{
    
    		}
    		注意:
    			公共类的类名称必须与所在文件的文件名一致(区分大小写)
    			1个源文件中只能有1个公共类,1个源文件中可以有多个非公共类。
    

    	第3步:编写main方法
    		public class 自定义类名{
    			
    			public static void main(String[] args){
    				
    			}
    			
    		}
    

    	第4步:下达命令,打印Hello World
    		public class 自定义类名{
    			
    			public static void main(String[] args){
    				
    				System.out.println("原样输出字符");
    			
    			}
    			
    		}
    		注意:
    			java语句命令以;分号做结束
    			
    	英文名词解析
    		public公共的		class类			static静态的
    		void无返回的		main主方法(入口)	String字符串数据类型
    		System系统的		out输出端		println带有换行的打印方法
    

    java是如何实现跨平台
    
    		Java字节码可以通过JVM翻译为具体平台能够执行的机器指令。
    		由于Sun定义了JVM规范,而且不同的操作系统大多提供了JVM实现,
    		才使得相同的一个字节码文件可以在不同的系统上运行,
    		从而使Java赢得了“一次编译,到处使用”的美名。
    
    	
    	执行源码,需要先javac命令编译,产生字节码后,通过java命令执行
    	编译命令
    		javac 文件名.java
    
    		此时如源文件正确被编译后生产 文件名.class 的字节码
    
    
    	执行java程序
    		java 文件名/公共类的类名
    

    变量声明与赋值

    Java强语言规则,变量必须先声明后使用。
    语法: 
    	数据类型 变量名 = 初始值 ;
    	
    	数据类型 变量名1 = 初始值 , 变量名2 = 初始值 ,... , 变量名N = 初始值 ;
    	int num1 = 10; 
    	int num2,num3, num4;
    

    标识符命名规则

    1.变量名由大写字母A~Z、小写字母a~z、数字0~9、_和$符组成
    2.变量名不能以数字做开头
    3.变量名应避免与关键字重名
    4.变量名要见名知意
    5.变量名支持中文,但不推荐使用
    6.变量名编写习惯第一个单词首字母小写,其后每个单词首字母大写。
    7.类名称与变量名命名规范雷同,但是类名称每个单词的首字母都大写。
    
    int num;  float n1;   int 数1;  int $sys_n1;	int _x;   
    int system;
    

    变量的输出

    语法
    	System.out.println(“原样字符”+变量名+“原样字符”+... +变量名+...);
    举个例子:
    	设两个整数变量存储1和2,输出2数之和,格式“1+2=3”
    	int a=1,b=2;
    	int sum = a + b;
    	System.out.println( a+  “+”  +b+  “=”  +sum );
    

    变量的输入

    步骤 含义 代码
    1 导入类型 import java.util.Scanner;
    2 创建Scanner输入类型对象 Scanner scan = new Scanner(System.in);
    3 调用方法输入数据 输入整数:scan.nextInt();
    输入单精度小数:scan.nextFloat();
    输入双精度小数:scan.nextDouble();
    输入字符串:scan.next();
    scan.nextLine();

    基础数据类型

    类型 字节 包装类型
    byte 1 8 Byte
    int 4 32 Integer
    long 8 64 Long
    short 2 16 Short
    float 4 32 Float
    double 8 64 Double
    char 2 16 Character
    boolean 1 8 Boolean
    数据类型自动转换:		小数据类型赋值给大数据类型,整数赋值给小数
    数据类型的强制转换:	大数据类型赋值给小数据类型,小数赋值给整数
    					小数据类型 变量名 = (小数据类型)大变量;
    

    运算符与表达式

    赋值运算符 =

    	等号后的赋值给等号前的,注意在Java中一个等号表示赋值运算,两个等号表示比较是否相等。
    
    	举个例子:
    		 int a=10,b=20;
    		 int t=a;
    

    数学运算符

    	+加法  、  -减法、  *乘法、  /除法、      %取余
    
    	运算时需要考虑数据类型,
    		 除数	被除数		商
    		 int		int			int
    		 int		double		double 
    		 double	int			double
    		 double 	double		double
    	
    	举个例子:
    		商		余数
    		5.0/2	2.5		1.0
    		5/2.0	2.5		1.0
    		5/2		a=2		b=1
    		int a=5/2;
    		int b=5%2;
    

    连接符

    		加号+在Java中有两种作用,一种是加法运算,一种是连接符。 
    		当加号两边运算数都是数值型数据时,加号做加法运算。
    		当加号两边有任意一遍是字符串时,加号做链接操作。
    
    	举个例子:
    
    运算数1 + 运算数2 结果
    1(int) + 2(int) 3(int)
    "abc"(String) + 123(int) "abc123"(String)
    "a"(String) + 123(int) "a123"(String)
    "123"(int) + #(String) "123#"(String)

    关系运算符

    	举个例子:
    
    运算符 含义 表达式 结果
    > 大于 1>2 false
    >= 大于等于 1>=1 true
    < 小于 1<2 true
    <= 小于等于 1/2<=5 true
    == 等于 4%2==0 true
    != 不等于 5%2!=0 true
    	拓展,三目运算符
    		条件表达式 ? 表达式1 : 表达2
    	含义:
    		当条件表达式成立时,执行问号后的表达式1,
    		当条件表达式不成立时,执行冒号后表达式2
    	举个栗子:找出两个数a与b中的最大值
    		public static void main(String[] args){
    			int  a=10,b=20;
    			int max =  a>b?a:b;	//当a比b大时max=a.  当a小于等于b时执行max=b;
    			System.out.println(a + “与” + b + "最大值是"+ max);
    		}
    

    逻辑运算符

    	逻辑与(&&):  条件表达式1   &&   条件表达式2
    		当两个条件都成立时返回true
    
    条件1 && 条件2 结果
    true && true true
    false && true false
    true && false false
    false && false false
    	逻辑或(||):	条件表达式1   ||  条件表达式2
    		当有任意一个条件成立时返回true(由于md语法"||"符号是表格语法无法显示,笔者暂时还未找到解决冲突的方案,暂时用"或"代替)
    
    条件1 条件2 结果
    true true true
    false true true
    true false true
    false false false
    	逻辑非(!):	
    		!true	== flase	
    		!false	== true
    
    	判断是否是闰年(经典题目):
    		年能被4整除并且不能被100整除时,或者年能被400整除
    		2000年是闰年,2000%400==0
    		2004年是闰年,2004%4==0 并且 2004%100!=0
    		
    		public static void main(String[] args){
    			int year =2004;
    			String isOk =   (year%4==0&&year%100!=0) || (year%400==0) ?  "闰年"  :  "平年"  ;
    			System.out.println( year +”是”+ isOk)
    		}
    

    自增++与自减--运算符

    	++ 是自加1运算,		-- 是自减1运算
    

    		1.public void add(){
    			int a = 1;
    			a++;
    			System.out.println(a); //结果为2
    		  }
    

    		2.public void add(){
    			int a = 1;
    			++a;
    			System.out.println(a); //结果为2
    		  }
    

    		3.public void add(){
    			int a = 1;
    			System.out.println(a++); //结果为1
    		  }
    			因为++号在后,代码会先输出a的值,然后再执行++的操作
    			public void add(){
    				int a = 1;
    				System.out.println(a++); //结果为1
    				System.out.println(a);   //结果为2
    		  	}
    

    		4.public void add(){
    			int a = 1;
    			System.out.println(++a); //结果为2
    		  }
    			因为++号在前,代码会执行++的操作,然后再输出a的值
    

    	--也是同理
    

    条件结构

    	单if结构
    	语法:
    		if( 条件表达式 ){
    		.... 语句体M ...;
    		}
    		
    		... 语句体Z ...;
    
    	语法解析:
    		当if后()小括号内条件表达式成立返回true时,执行if后{}花括号内语句体M
    		当if后()小括号内条件表达式不成立时,if后{}花括号内语句体m不执行。
    		
    		语句体z与条件无关,条件成立与否都执行。
    

    代码示例:找出2个数的最大值
    public void comapreAB(){
    	int a=20,b=10;
    	int max=0;
    	//判断a比b大吗?
    	if( a>=b ){
    	     max=a;  //条件成立时max=a
    	}
    	else{
    	     max=b;   //条件成立时max=b
    	}
    	
    	System.out.println(a +“与”+  b  +”最大值”+max);
    }
    

    alt if-else

    for循环

    语法,循环规则
    
    语法 表达式含义 循环执行过程
    for( 表达式1; 表达式2; 表达式3 ){
    ... 循环体...
    }
    表达式1: 设置循环条件变量初始值
    表达式2:设置循环条件(满足什么条件重复下一次)
    表达式3: 循环条件变量值得变更
    alt for

    非循环版
    public class Demo01{
    	public static void main(String[] args){
    	    System.out.println(“Java我爱你 1”);
    	    System.out.println(“Java我爱你 2”);
    	    ... ...
    	    System.out.println(“Java我爱你 100”);
    	    ... ...
    	    System.out.println(“Java我爱你 10000”);
    	
    	}
    } 
    

    循环版
    public class Demo01{
    	public static void main(String[] args){
    	    int i ;
    	    for( i=1;  i<=10000;  i=i+1 i++ ){
    	        System.out.println(“Java我爱你 ”+i)
    		} 
    	}
    } 
    

    循环当中的break

    break 用于终止循环,一般与条件结构结合使用。
    

    循环当中的continue

    continue 用于跳出本次循环,继续下一次循环,一般结合条件结构使用
    

    数组的声明与使用

    数组是相同数据类型的多个元素的容器,元素按线性顺序排列。
    
    数组声明的语法
    	数据类型[]	数组名=  new   数据类型[ 元素个数 ];
    	或
    	数据类型 	数组名[] = new 	数据类型[ 元素个数 ];
    

    举个例子	存储5个整数	
    int[] ns = new int[5];
    

    给数组元素值
    	数组名[ 下标 ]  =  值;
    
    	注意: 
    	下标从0开始,到数组元素个数-1终止。
    	例如,int[] ns=new int[5],有效的数组元素ns[0],ns[1],ns[2],ns[3],ns[4] 
    	无效的数组元素 ns[5]
    	数组元素的值类型<=数组元素声明的类型
    
    数组元素的输入与输出
    	1.数组必须先声明后使用
    	2.数组元素下标从0 开始,到  元素个数-1  终止
    

    	输入
    	int[]  ns =   new int[ 5 ];
    	ns[0] = 1;
    	ns[1] = 1;
    	ns[2] = 1;
    	ns[3] = 1;
    	ns[4] = 1;
    
    	输出
    	for(i=0;  i<ns.length; i++ ){
    		System.out.println("ns["+i+"]=" + ns[i] );
    	}
    
    数组元素的初始化
    	声明数组同时赋予初始值,方式1 -- 完整版
    		数据类型[] 数组名 = new 数据类型[]{值1,  值2,  值3,  ... ...  , 值N};
    		例如,声明数组存放10,20,30,40,50这5个整数
    	int[]  ns = new int[]{ 10, 20, 30, 40, 50};
    

    	声明数组同时赋予初始值,方式2 -- 简化版
    		数组类型[]  数组名  = 	{值1, 值2,值3, ... ... ,   值N};
    		例如:int[]  ns =  { 10, 20, 30, 40, 50};
  • 相关阅读:
    VB中String的用法及原理
    SQL中的left outer join,inner join,right outer join用法详解
    SqlServer,Oracle 常用函数比较
    sql 使用视图的好处
    修改数据库的兼容级别
    sql server2008修改登录名下的默认架构名
    SQL事务回滚 ADO BeginTrans, CommitTran 以及 RollbackTrans 方法
    sql事务(Transaction)用法介绍及回滚实例
    SQL Server更新表(用一张表的数据更新另一张表的数据)
    VB如何连接SQL Server数据库
  • 原文地址:https://www.cnblogs.com/lzy1212/p/13606870.html
Copyright © 2011-2022 走看看