黑马程序员---java基础 -----基础知识,运算符,循环等

------- android培训java培训、期待与您交流! ----------


Java的基础组成




关键字

        定义:被Java赋予了特殊含义的单词。

        特点:体现上都是英文小写。

1、 用于定义数据类型的关键字

基本数据类型:

        整数类型:byte  short  int  long   浮点类型:float  double

        字符类型:char                            布尔型:boolean

引用数据类型:

        class()  interface(接口)

void用于函数上表示无返回值类型

2、用于定义数据类型值的关键字

        true() false()  null()

3、 用于定义流程控制的关键字

        判断:if  else  switch case  default

        循环:for  while  do 

        继续循环:continue                    结束循环或选择结构:break

        返回:return

4、 用于定义访问权限修饰符的关键字

        private(私有的) protected(受保护的)  public(公有的)

5、 用于定义类、函数,变量修饰符的关键字

        abstract(抽象的) final(最终的)  static(静态的)  synchronized(同步的) enum(枚举)

6、用于定义类与类之间关系的关键字

        extends(继承) implements(实现)

7、 用于定义建立实例及引用实例,判断实例的关键字

        new(建立实例)  this(当前引用)  super(父类引用)  instanceof(判断对象类型)

8、 用于异常处理的关键字

        try(检查异常)  catch(捕获异常)  finally(最终执行

        throw  throws:两多表示抛出异常,但使用位置不同

9、 用于包的关键字

        package(创建包) import(导入包)

10、其他修饰关键字

        native(本地)          

        strictfp(strict float point,精确浮点)  

        transient(变量修饰符,用它声明一个实例变量,在对象序列化时不会被序列化)

        volatile(类型修饰符,用来修饰被不同线程访问和修改的变量

        assert(断言,可以看作是异常处理的一种高级形式,用于捕捉我们在代码中做出的假设)

注:main不是关键字,却是被虚拟机所识别的一个名称。


常量与变量:



常量:

整数常量:所有整数。      

小数常量:所有小说。     

布尔型常量:true,false

字符常量:将一个数字字母或者符号用('  ')表示;

字符串常量:  用双引号标识

null常量:只有一个数值null(空)


整数的表现形式:十进制,八进制,十六进制。

进制转换:十进制转二进制是   除以2取余数。

二进制转成十进制: 乘以2的幂数。

八进制:3个二进制位是一位八进制位,

十六进制:4个二进制位是一个十六位。

负数的二进制表现形式:对应的正数二进制取反加1.


变量:

内存中的一个存储区域,该区域拥有自己的名称(变量名)和类型(数据类型)该区域的数据可以在同一类型范围内不断变化。

变量的作用范围在一对{}之间。

定义变量的格式  数据类型 变量名 = 初始化值。




算数运算符


a = b++; a=b,b++; a=++b;     b++,  a=b.




转义字符:通过\来转变后面字木或者符号的含义

\n:换行

\b:退格

\r:回车(windows)  回车符是由俩个字符表示\r\n

\t:制表符,相当于tab键。



逻辑运算符


位运算符(二进制运算)








判断结构




三元运算符:变量 = (条件表达式)?表达式1:表达式2;   满足?1:否则2;


选择结构:


Swich语句的特点

a,swich语句选择的类型只有四种:byte,short,int,char。

b,case之间与default没有顺序,先执行第一个case,没有匹配的case执行default

c,结束switch语句的俩种情况:遇到break,执行到switch语句结束。

d,如果匹配的case或者difault没有对应的break,那么程序会继续向下执行,运行可以执行语句,直到遇到break或者switch结尾结束。



循环结构:

循环的几种形式

for循环

 for(初始化表达式;循环条件表达式;循环后的操作表达式(没有时可以不写))

{执行语句;}

while 循环

while语句格式:  while(条件表达式){执行语句}

do{执行语句}while(条件表达式);首先会先执行一次。


代码:for循环嵌套

<span style="font-size:18px;"><span style="font-size:18px;">/*
6、 编程打印所有的3位质数,质数特点:只能被1和其本身整除

for  嵌套循环
*/

class QiuZhiShu
{
		public static void main(String[]args)
		{
			int x = 0;//模数
			int y = 0;//被模数
			int z = 0;//标记被整模次数
			for(x=100;x<1000;x++)
			{
				for(y=1;y<=x;y++)
				{
					if((x%y)==0)//当能够整模时
						z++;	//标记自增一次
				}
				if(z==2)//当整模次数为2时,说明x是质数
				{
					System.out.println(x);
					z=0;//清空标记
				}
				z=0;//清空标记
			}
			
		}
}</span></span>


代码:for循环多次嵌套

<span style="font-size:18px;">/*

8、 编程列出一个字符串的全字符组合情况,原始字符串中没有重复字符,例如:

 
原始字符串是"abc",打印得到下列所有组合情况:
"a" "b" "c" 
"ab" "bc" "ca" "ba" "cb" "ac"
"abc" "acb" "bac" "bca" "cab" "cba"

*/


class AllDemo1
{
		public static void main(String[]args)
		{
			String s = "abc";//
			
			char[] arr = s.toCharArray();//将字符串s转换成一个字符数组
			
			//思考,用数组的角标将数组中每个元素进行不同的排序
			//非别输出一个元素,俩个元素,三个元素
			
			for(int x=0;x<arr.length;x++)	
			{	
			
				System.out.print(arr[x]+",");//分别输出字符数组中的每个元素
		
				for(int y=0;y<arr.length;y++)
				{	
					if(x==y)//排除字符相同的情况
						continue;
					else
					{
						char [] arr1 =new char[]{arr[x],arr[y]};//将不同字符装入一个
																//新的数组,
						System.out.print(new String(arr1)+",");//将新字符数组转换成字符窜打印
						
						for(int z=0;z<arr.length;z++)
						{	
							if(z!=x&&z!=y)//排除字符相同情况
							{
								char [] arr2 =new char[]{arr[x],arr[y],arr[z]};
								System.out.print(new String(arr2)+",");	
							}
							else
								continue;
						}
					}
					
					
				}
					
			}
		}
}</span>


代码:递归形式

 class Test {
        private static int count=0;
        public static void main(String[] args) {
               
</pre><pre name="code" class="java">                getDiffCombination("","abc");
                System.out.println(count);
        }
        
       
        private static void getDiffCombination(String prefix,String strLeft){
                if(strLeft.length()==1){
                        System.out.println(prefix+strLeft);
                        count++;
                        return;
                }
                
                for(int i=0;i<strLeft.length();i++){
                        StringBuilder sb = new StringBuilder(strLeft);
                        String str = prefix+strLeft.substring(i, i+1);
                        System.out.println(str);
                        count++;
                        getDiffCombination(str,sb.deleteCharAt(i).toString());
                }
        }        
}


高级for循环

for(容器 :需要遍历的集合或数组);

























  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值