Java一阶段第一周学习

Hellloworld基本的代码入门

第一步:创建txt文件,文件名为"HelloWorld".

第二步:编写一个类(java中的最基本单元),类的名称建议是和文件的名称一致.

class HelloWorld{
    public static void main(Strimg[] args){
    System.out.printIn("helloworld");//分号表示语句结束
}
}
    

class:java中最基本的单元,类(class xxx)

                对类/接口起名字:大驼峰命名法

                        一个单词:首字母大写

                        多个单词:每个单词首字母大写

                对变量以及方法起名字:小驼峰命名法

                        一个单词:全部小写

                        多个单词:第一个单词小写,第二个单词首字母大写,后面都小写

                对常量的命名多个单词(常用):

                        每个单词字母大写,单词和单词直接用下划线隔开

public:权限修饰符:公共的,公开的,任何人都可以访问的(访问权限足够大)

static:静态修饰符

void:java语言中定义方法/函数用的

main(String[] args):main方法(能够被jvm识别),直接就运行,main方法是程序的入口

System.out.pringIn("xxxxxx"):输出语句(字符串)

第三步:将.txt文件后缀名改为.java文件

第四步:将刚刚生成的HelloWorld.java文件进行编译.

javac.exe----->Java文件的编译命令

java.exe------>Java文件的运行指令(需要在dos窗口运行)

常见的组合键:

ctrl+c///ctrl+v:复制粘贴.

ctrl+z:撤销.

ctrl+s:保存.

tab:缩进.

常量

指的是在程序过程中,值不发生改变的量

分类:

        字符串常量"xxxxxxx"

        字符常量'a','A','0'

        整数常量

        小数常量

        布尔常量

        空常量

变量三要素

变量的限定:数据类型

变量名:遵循标识符的规范要求

初始化值:要和数据类型保持一致

数据类型划分

基本数据类型(四类八种)

第一类:整数类型:

                        byte,short,int(默认),long

第二类:浮点类型

                        float,double

第三类:字符类型

                        char

第四类:boolean

int x =100;

short s =20;

long l =100000L;

float f =12.22F;

double d =3.11;

char c = 'a';

boolean b = false;

标识符的组成

26个英文大小写字母

0-9的数字

_(下划线)

$

严格区分大小写

定义标识符时不能以数字开头

不能时Java中的关键字

起名字要见名知意

类型转换

Java隐式转换(Java数据类型默认提升)

byte,short,char三者之间不转换,一旦参与运算,优先提升int---long----float

Java类型的显示转换(强制类型转换:强转)

将大的类型范围转换成小的数据类型

格式:目标数据类型 变量名=(目标数据类型)(表达式或者初始化值);

int a =65;

char c =(char)a//'A'

运算符

基本运算符:

算术运算符

比较(关系)运算符

逻辑运算符(使用最多的)

逻辑单与&

逻辑单或|

逻辑异或^

逻辑非!

逻辑双与&&

逻辑双或||

三目运算符(三元运算符)

注意事项:

/ 是取整

% 是求余数的

扩展的算术运算符:++,--

classOperatorDemo{

public static voidmain(String[] args){

扩展的算术运算符

扩展的算术运算符:++,--

情况1:单独使用:比较简单无论++或者--在数据的前面还是后面,都是对这个变量本身自增1或者自减1

情况2:参与运算使用

1)如果++或者--在数据的前面,先进行自增或者自减,然后参与运算;

2)如果++或者--在数据的后面,先运算,然后进行自增或者自减

赋值运算符的扩展赋值运算符的特点

隐藏了强制类型转换

/*

面试题: 考点(扩展的赋值运算符的特点)

定义一个short类型的变量

short s = 1 ;

1)s = s + 1 ;

2) s += 1 ;

1)和2)代码哪一个编译失败,为什么,哪一个编译成功,为什么?

1)会失败

=右边,s---先提升int,然后进行计算--->结果为int=左边short,无法接收=右边的int类型

2)不会失败

在扩展的赋值运算符里面,

+=,-=,*=,/=,%= 隐藏了强制类型转换

s += 1 等价于 s = (short)(s + 1);

//改进

int s = 1 ;

s +=1 ; ===等价 s = s +1 ;

*/

classOperatorDemo2{

public static voidmain(String[] args){

//定义变量

shorts =1;

//不兼容的类型: 从int转换到short可能会有损失

//s = s + 1 ;//会编译失败,=右边,s---先提升int,然后进行计算-

-->结果为int

//=左边short,无法接收=右边的int类型

//强制类型转换

//s = (short)(s+1) ;

//System.out.println(s) ;

s +=1;//等价于 s = (short)(s + 1); 隐藏了强制类型转换

//相当于这个s = (short)(s+1) ;

System.out.println(s) ;

}

}

比较运算符

这些运算符:无论这些符号连接的表达式是简单的还是复杂,结果应该布尔类型,true/false

表达式:

这些运算符号--连接起来多个变量

注意:

==不能写成 =

数学表达式:

3<=x<=5,在计算机语言中,无法这样书

写,需要逻辑符号连接起来

x>=3 &(逻辑单与) x <=5

classOperatorDemo{

public static voidmain(String[] args){

//<,>,<=,>=,==,!=

//定义三个变量

inta =3;

intb =4;

intc =5;

System.out.println(a>b) ;

System.out.println(a<b) ;

System.out.println(a>=b) ;

System.out.println(a<=b) ;

System.out.println((a+b)<=(b+c)) ;

System.out.println(a!=b) ;

System.out.println(a==c) ;

System.out.println("---------------------------------") ;

//==不能写成 =

intm =10;

intn =20;

//两个数据比较:使用boolean接收

booleanflag = (m==n) ;

//int无法转换为boolean

//boolean flag = (m=n) ;//将n的值赋值给m,将m的值留下来赋值

给flag,而flag变量是boolean

System.out.println(flag) ;

}

}逻辑运算符

(登录/注册,判断用户是否登录成功了或者判断用户是否注册成功)进行业务逻辑判断;

基本的逻辑运算符

逻辑单与& ----并列关系

特点:有false,则false;

逻辑单或| ----或的关系

特点:有true,则true

逻辑异或^

特点:

相同则为false,不同则为true

简单记忆:男女关系

男女 女男 true

女女 男男

false

逻辑非!

非true,则false;非false,则true;偶数给非是它本身

classOperatorDemo{

public static voidmain(String[] args){

//定义三个变量

inta =3;

intb =4;

intc =5;

//逻辑单与&

System.out.println((a>b) & (a>c)) ;//false & false =false

System.out.println((a<b) & (a>c)) ;//true & false = false

System.out.println((a>b) & (a<c)) ;//false & true = false

System.out.println((a<b) & (a<c)) ;//true & true =true

System.out.println("------------------------------") ;

//逻辑单或|

System.out.println((a>b) | (a>c)) ;//false | false = false

System.out.println((a<b) | (a>c)) ;//true | false = true

System.out.println((a>b) | (a<c)) ;//false | true = true

System.out.println((a<b) | (a<c)) ;//true | true = trueSystem.out.println("------------------------------") ;

//逻辑异或^

System.out.println((a>b) ^ (a>c)) ;//false ^ false = false

System.out.println((a<b) ^ (a>c)) ;//true ^ false = true

System.out.println((a>b) ^ (a<c)) ;//false ^ true = true

System.out.println((a<b) ^ (a<c)) ;//true ^ true = false

System.out.println("------------------------------") ;

//逻辑非!

//非true,则false;非false,则true;偶数给非是它本身

System.out.println(!(a>b)) ;

System.out.println(!!(a>b)) ;

}

}

扩展的逻辑运算符

逻辑双与&& ---并列关系,必须同事满足条件,才成立;

逻辑双或||

--- 或的关系:有一个满足条件 成立;

面试题:

逻辑双与&&和逻辑单与&的区别?

共同点:有false,则false

不同点:

逻辑双与&&:具有"短路"效果,

当&&连接的表达式如果左边为

false,则右边不执行了!

实际开发中:&&以及||使用最多,他们可

以提高程序的执行效率;

逻辑双或||

||连接的表达式左边true,右边不执行了(具有短路效果),

有true,则true

classOperatorDemo2{

public static voidmain(String[] args){//三个变量

inta =3;

intb =4;

intc =5;

//逻辑双与&&

System.out.println((a>b) && (a>c)) ;//false && false =false

System.out.println((a<b) && (a>c)) ;//true && false = false

System.out.println((a>b) && (a<c)) ;//false && true = false

System.out.println((a<b) && (a<c)) ;//true && true =true

System.out.println("----------------------------------------

") ;

//定义x变量赋值3

intx =3;

inty =4;

System.out.println("x:"+x) ;//x:3

System.out.println("y:"+y) ;//y:4

//false

//x ++ = 4

//System.out.println((x++)==4 && (--y)==3 ) ;//false //&&的

左边表达式false,则右边不执行了

//System.out.println("x:"+x) ;//4

//System.out.println("y:"+y) ;//4

//逻辑单与&,左边表达式为false,右边依然要执行,开发中不用它,

效率太低

System.out.println((x++)==4& (--y)==3) ;//false

System.out.println("x:"+x) ;//4

System.out.println("y:"+y) ;// 3

}

}

三元运算符格式:

(简单或者复杂的表达式)? 执行成立的结果:执行不成立的结果;

执行流程:

1)先判断表达式是true还是false,如果是true,执行成立的

结果;

2)如果是false,执行不成立的结果;

classOperatorDemo{

public static voidmain(String[] args){

//定义了两个变量

intx =20;

inty =5;

//求x,y这两个数据的最大值;

//定义一个结果变量,接收结果

//(简单或者复杂的表达式)? 执行成立的结果:执行不成立的结果;

intmax = (x>y)? x:y ;

System.out.println("两个数据中的最大值是:"+max) ;

System.out.println("---------------------------------") ;

//求x,y的最小值

intmin = (x<y)?x:y ;

System.out.println("两个数据中的最小值是:"+min) ;

System.out.println("---------------------------------") ;

//比较x,y的值是否相等

//boolean接收

//boolean flag = (x==y)?true:false ;

// 优化

booleanflag = (x==y) ;//==本身就是比较

System.out.println("flag:"+flag) ;

//练习

//有三个数据,a,b,c int类型,

//int a = 20 ;

//int b = 50 ;

//int c = 15 ;//使用三元运算符:完成三个数据比较,获取最大值?

}

}


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值