java_基础(1)

小萌新的你看了这个之后是不是就会写第一个java了呢
java开始写第一个程序
接下来进入java的正题吧

一:语言基础

**数据类型**(以代码的形式给你们吧,好看
class //类
   intface //接口
   byte  //字节
   short //短整型
   int  //整形
   long  //长整型
   float //单精度浮点型
   double //双精度浮点型
   char  //字符型
   boolean //
   void  //空的没有返回值
   定义值
   true  //
   false //
   null  //对象不存在

定义流程控制的关键字

if  //如果
   else  //否则
   switch //切换
   case  //案例
   default //默认,缺省
   while //循环(当...时
   do  //
   for  //循环
   break //中断
   continue //继续进入下一次循环
   return //换回

修饰符 modifier

private //私有的
   protected //受保护的
   public //公开的
   abstract //抽象的
   final //最终的
   static //静态的
   non-static //
   synchronized //同步
   extends //拓展,继承
   implements //实现
   new  //新建
   this  //这个
   super //超类的,父类的
   instanceof //是否时xxx的示例
   try  //尝试
   catch //捕捉
   finally //最终
   throw //抛
   throws //申明要抛
   package //包
   import //导入
   native //本地的
   transient //暂时的
   volatile //cpu不进行优化处理的
   assert //断言

二:注释

1.文档注释
类顶端
/*********
 
 * xxx   *
 **************/
2 单行注释
   //
   xxxxx
   xxxxx //
 3.多行注释
 /*
         xxxx 
         */

三:标识符
包名:多单词组成时所有字母都小写。xxxyyyyzzz
类名接口名:多单词组成时,所有单词的首字母大写XxxYyyZzz
变量名和函数名:多单词组成,第一个单词首字母小写,第二个单词开始时每个首字母大写。xxxYyyZzz
常量名:所有单词都大写。多单词时每个单词用下划线链接。
XXX_YYY_ZZZ
注意:由26个英文字母大小写,数字:0-9 符号:_$组成
1,数字不可以开头
2,不可以使用关键字。
特殊字符:

c='\t';//制表符
'\t'	//tab
'\r'	//return
'\n'	//new line

四:常量与变量
1:java常量分类
1:整数常量
2:小数常量
3:(boolean)布尔型:true/false
4:字符常量,将一个数字字母或符号用单引号标识(’’)
5:字符串常量。将一个或者多个字符用双引号("")标识。
6.null常量,只有null
2:变量概念:
内存中的一个存储区域
该区域有自己的名称或者类型
该区域的数据可以在同一类型范围内不断变化
为什么要定义变量:
存放同一类型的常量,并可以重复使用
使用变量注意:
变量的作用范围(1对{}之间有效)
初始化值
定义变量的格式
数据类型 变量名=初始化值
注:格式是固定的,记住格式
理解:变量就如同数学中的未知数
变量分类

 强类型语言
----------
定义变量必须先定义 int
                   String name =“xxxx”;
                        name 变量,xxxx是常量
            java中8中基本数据类型
        1 byte   1
        2 Short  2
 3 int    4
 4 long   8
 5 float  4
 6 double 8
 7 boolean 1
 8 char  2
 
 简单类型:
 引用类型
 1 class
 2 interface
 3 数组[]
 整数默认int,小数默认double

语言类型之间的转化:
如:int age ;
byte b=age;
//byte 是静态的,从 int转化为byte可能会丢失
//所以 byte b=int age 会错误,数据不一样,可能会出现丢失
怎么解决呢
这样写:byte b =(byte)age 强制类型转化
解释:如:团长变成排长,会丢失自己的各种团长该有的,所以团长不干!但是军令已达必须做,所以他要强制转换;
所以:强制转换:一般在降格的时候使用
给大家一个强制转化的代码

class CommentDemo{
	public static void main(String[] args){
	int age =13;
	byte bbb=12;
	bbb=(byte)(bbb+1);
	System.out.println("hello world"+bbb);}
	}

分析:
System.out.println(‘a’)
System.out.println(‘a’+1)区别:第二个运算时都变成整形再加
只要由加减乘除,都会被运算时都变成整形再运算
案例:byte bbb=13;
bbb=bbb+3;//报错
一旦用运算符就自动升格,要强制转化
bbb=(byte)(bbb+3)就ok

五:进制转化
进制类型
二进制:0,1,满2进1
八进制:0-7,满2进1
十进制:0-9,满10进1
十六进制:0-9,A-F,满16进1,用0X开头表示
进制转化
十进制 二进制 互转
十进制转成二进制 除以2取余数
二进制转成十进制 乘以2的幂数
十进制 八进制 互转
十进制 十六进制 互转
负数的二进制表现形式
对应的正数二进制取反加1

重点:二进制取反
	第一位。0是整数,1是负数
	二进制相加逢2进1
	案例:0000 0011 (3)
        取反:1111  1100
        再加1:1111  1101=-3
      注意:取反加1.加到九位数时:一个字节八位存储 最高位9位不存在的额就溢出了 

六:运算
算数运算符:
在这里插入图片描述
算数运算符注意:
在这里插入图片描述

class Yunsuan{
public static void main(String[] args){
int a=+5;
int b=-5;
System.out.println("a="+a+",b="+b);
System.out.println("a="+(+a)+",b="+(-b));
//+-*/
System.out.println(5+5);
System.out.println(5-5);
System.out.println(5*5);
System.out.println(5/5);
//取模
System.out.println(5%3);
//自加自减++ --
int a1=5,a2=5;
System.out.println("a1="+(a1++));//输出a1自增之前的数
System.out.println("a2="+(++a2));//输出a2自增之后的数
//+,操作符重载
System.out.println("hello"+"world");
System.out.println("5+5"+5+5);//为55
System.out.println("5+5"+(5+5));//为10
}
}

*赋值=+= -= = /

class Yunsuan{
public static void main(String[] args){
int a3=5;
System.out.println("a3+="+(a3+=3));//这个地方必须变量
short s=2;
s=(short)(s+2);
System.out.println(s);//s+=2可直接转换但是s=S+2不可以需要强制
}
}

比较运算符== <> >< !=

class Yunsuan{
public static void main(String[] args){
//比较运算符== <> ><  !=
boolean res = 5<=5;
System.out.println(res);
System.out.println(5!=5);
Object o="hello";
//inttanceof判断对象是否是指定类型。innstanceof后面跟引用类型
//int就不可以,instanceof 是模糊判断,后期给大家更新判断类型
//System.out.println(o instanceof String);
}
}


逻辑运算符
在这里插入图片描述

class Yunsuan{
public static void main(String[] args){
// && ||存在短路操作,当前面操作满足时,&&||后面表达式就不参与了
int c1=3,c2=1;
if(c1>5&&c2>5){
System.out.println("ok");}
if(c1>5||c2>5){
System.out.println("ok");}
//& | ! ^
if((c1>5)&(c2>5)){
System.out.println("ok");
}
else{
System.out.println("no ok");
}
//&&与&区别
//&&
//System.out.println(5&&6),错误
System.out.println(false&&true);
//可以运行,可以编译,所以&&两边是bool
//&
//5 0000 0101
//6 0000 0110
//&运算,就是×
//------------
//4 0000 0100
System.out.println(5&6);
//|
//5 0000 0101
//6 0000 0110
//&运算,就是+,
//------------
//7 0000 0111
System.out.println(5|6);
//& | 不存在短路可能
//转换成两个数字的位运算,不会出现短路的
}
}

取反

class Yunsuan{
 public static void main(String[] args){
 //取反
 boolean b0=3>4;
 //应该时false,取反后为true,!对Boolean类型取反
 System.out.println(!b0);
 //按位取反~
 //0000 0000 0000 0000 0000 0000 0000 0101
 //1111  1111 1111 1111 1111 1111 1111 1010
 //0000000000000000000000000000000000 0110
 System.out.println(~5);
 }
 }

异或^

class Yunsuan{
 public static void main(String[] args){
 //异或^相同为假不同为真
 //^0101   =5
 //^1100   =12
 //-----
 // 1001   =9
 System.out.println(5^12);
 }
 }

移位运算
在这里插入图片描述

class Yunsuan{
 public static void main(String[] args){
 //移位运算
 //<<  左移动
 //>>  右移动
 //<<
 //  0000 1010=10
 //0000 101000=0010 1000=40
 System.out.println("10<<2="+(10 << 2));
 System.out.println("-6<<2="+(-6 << 2));
 //>>右移动>>>无符号右移动
 //>>有符号移动,填充最高位
 System.out.println("-6>>2="+(-6 >> 2));
 //>>>无符号右移动,空出的位置用0填充
 System.out.println("-6>>>2="+(-6 >>> 2));
 }
 }

三元运算符

class Yunsuan{
 public static void main(String[] args){
//三元运算符 ?:;
int i1 =10;
if (i1<5){
System.out.println("<5");
}
else{
System.out.println("<5");

}
System.out.println(i1<5?"i1<5":"i1>=5");
//三元运算符就是if,else的简写
//输出三个数中的最大值(三元运算嵌套
int x=5,y=6,z=7;
System.out.println(x>y?(x>z?x:z):(y>z?y:z));
}
}
发布了50 篇原创文章 · 获赞 75 · 访问量 6670

猜你喜欢

转载自blog.csdn.net/weixin_45822638/article/details/102888437
今日推荐