CodeGym/Kurso sa Java/Modyul 1/Mga hack sa buhay: kung paano magsulat ng code nang mas m...

Mga hack sa buhay: kung paano magsulat ng code nang mas mahusay at mas mabilis

Available

1. Mga ekspresyon kumpara sa mga pahayag

Sa Java, nakakatulong na makilala ang dalawang kategorya: mga pahayag at mga expression . Ang isang pahayag ay karaniwang sinasabi na naisakatuparan , habang ang isang ekspresyon ay sinasabing sinusuri . Ngunit hindi iyon ang pinakamahalagang bagay.

Ang pangunahing pagkakaiba sa pagitan ng isang pahayag at isang expression ay ang pagsusuri ng isang expression ay may resulta . At ang resultang ito ay may isang uri, at maaari itong italaga sa isang variable o gamitin sa ilang iba pang expression.

Mga halimbawa:

Code Mga Tala
int x; Pahayag
(a < 10) Expression kung kaninong uri ayboolean
i++; Pagpapahayag na ang uri ay kapareho ng uri ng ivariable
x = 5; Pagpapahayag na ang uri ay kapareho ng uri ng xvariable

At ano ang ibinibigay nito sa atin?

Una, maaari nating samantalahin ang katotohanan na maraming mga pahayag ay talagang mga expression (ibig sabihin, sinusuri ang mga ito sa isang halaga). Halimbawa, gagana ang code na tulad nito:

Code Mga Tala
int x, y, z;
x = y = z = 1;
int x, y, z;
x = (y = (z = 1))

Pangalawa, kung gusto natin, maaari nating balewalain ang resulta ng pagsusuri ng isang expression.

Code Code kung saan binabalewala namin ang resulta:
int x = scanner.nextInt();
boolean m = (5 < 10);
scanner.nextInt();
(5 < 10);

Hindi namin binabalewala ang resulta ng pagsusuri ng isang expression, halimbawa, kung ang expression ay nagsasangkot ng paggawa ng isang bagay na kapaki-pakinabang, at ang pagkilos na ito ang mahalaga sa amin, hindi ang resulta mismo.


2. Operator ng Ternary

Ang life hack na ito ay mas kawili-wili na kaysa sa nauna. Ang Java ay may espesyal na operator ng ternary . Ang syntax nito ay medyo katulad ng syntax para sa pahayag:if-else

Condition ? Expression 1 : Expression 2;

Kung totoo ang kundisyon , susuriin ang Expression 1 , kung hindi susuriin ang Expression 2 . Ang kundisyon ay sinusundan ng isang tandang pananong , at ang dalawang ekspresyon ay pinaghihiwalay ng tutuldok .

Ang pangunahing pagkakaiba sa pagitan ng ternary operator at isang if-elsestatement ay ang ternary operator ay isang expression, na nangangahulugang maaari nating italaga ang resulta nito sa isang bagay.

Halimbawa, ipagpalagay na gusto nating kalkulahin ang minimum na dalawang numero. Gamit ang ternary operator, magiging ganito ang code na ito:

int a = 2;
int b = 3;
int min = a < b ?  a : b;

O, sabihin nating kailangan mong magtalaga ng iba't ibang mga halaga sa isang variable depende sa ilang kundisyon. Paano mo gagawin iyon?

Ang isang pagpipilian ay ang paggamit ng isang if-elsepahayag:

int age = 25;
int money;
if (age > 30)
   money = 100;
else
   money = 50;

Ang pangalawang opsyon ay ang paggamit ng ternary operator , iyon ay, shorthand para sa if-elsepahayag:

int age = 25;
int money = age > 30 ? 100 : 50;

Kaya alin ang mas mahusay na gamitin - isang if-elsepahayag o ang ternary operator ? Sa mga tuntunin ng bilis ng pagpapatupad, walang gaanong pagkakaiba. Ito ay higit na isang bagay ng pagiging madaling mabasa ng code. At ito ay isang napakahalagang punto: ang code ay hindi lamang dapat gumana nang tama, ngunit maging madali din para sa ibang mga programmer na basahin.

Ang pinakasimpleng tuntunin ay ito: kung magkasya ang code sa isang linya , pagkatapos ay gamitin ang ternary operator ; ngunit kung hindi ito magkasya sa isang linya, mas mahusay na gumamit ng isang if-elsepahayag.



3. Paghahambing ng mga tunay na numero

Gaya ng nabanggit kanina, hindi mo basta-basta maaaring kunin ang mga totoong numero at ikumpara ang mga ito. Palaging may posibilidad na ang ilang mahahalagang numero ay maaaring itapon, na magdulot ng mga hindi inaasahang epekto.

Kaya naman mayroong time-tested approach. Kung ang dalawang tunay na numero ay naiiba sa isang napakaliit na halaga, maaari silang ituring na pantay. Halimbawa:

double a = 1.000001;
double b = 1.000002;
if ( (b - a) < 0.0001 )
   System.out.println("The numbers are equal");
else
   System.out.println("The numbers are not equal");

Ngunit hindi lang iyon ang dapat nating alalahanin, dahil ang pagkakaiba sa pagitan ng mga numero ay maaaring maging negatibo. Kaya para gumana ang diskarteng ito, kailangan mong ihambing hindi lamang ang pagkakaiba sa pagitan ng mga numero, ngunit ang ganap na halaga ng pagkakaiba sa pagitan ng mga numero:|a-b|

Ang Java ay may paraan para sa pagkalkula ng ganap na halaga ng isang numero: Math.abs():

int m = Math.abs(value);

Bilang resulta, ang naitama na bersyon ng aming halimbawa sa itaas ay magiging ganito:

double a = 1.000001;
double b = 1.000002;

if ( Math.abs(b - a) < 0.0001 )
   System.out.println("The numbers are equal");
else
   System.out.println("The numbers are not equal");

2
Gawain
Java Syntax,  antasaralin
Naka-lock
Good or bad?
Student robot Peter is an overachiever. Previously, his server was configured to receive scores on a five-point scale, but now his teachers have switched to a 12-point scale. But Peter doesn't know this. He's still focused on getting fives. Let's write him a compare method that compares any number with five.
4
Gawain
Java Syntax,  antasaralin
Naka-lock
Closest to 10
Ten is extremely popular and attractive number. Everyone wants to be a ten. Or at least as close to it as possible. Two numbers are standing around wondering which of them is cooler. Answer: whichever is closer to ten. Let's write these numbers a displayClosestToTen method that will determine which of them is cooler.
4
Gawain
Java Syntax,  antasaralin
Naka-lock
Come on, lucky seven!
Dice games are popular on the planet Foggy Multidimensions. The rules are different than the Earth version: Multidimensionals perceive far more dimensions than primitive three-dimensional earthlings. Their die has 4294967295 faces. Players win only if they roll a number between 50 and 100. We'll write a method that checks whether the die roll is in this range.
4
Gawain
Java Syntax,  antasaralin
Naka-lock
Seasons on Terra
An Earth year consists of four seasons, each of which lasts 3 months. While our ship was parked on this cradle of humanity, the Interplanetary Tax Service asked us to write a program to determine the season based on a number corresponding to the month of the year. We don't know why they want it. They say that it's none of our business. But they promised not to remain in our debt.
4
Gawain
Java Syntax,  antasaralin
Naka-lock
Positive and negative numbers
Diego is tall, but Alfredo is short. Rishi is experienced, but you're a "noob" programmer. Comparisons are unavoidable in life. And the same thing is true in programs. So we'll continue practicing comparisons and displaying stuff on the screen. This time let's compare the entered number with zero and manipulate it based on the result of the comparison.
4
Gawain
Java Syntax,  antasaralin
Naka-lock
Day of the week
Planet Terra still has "offices"—an outdated type of workspace. With current technology, there is no need for them, but earthlings tend to be nostalgic and haven't been in a hurry to eradicate them. Terrestrial office workers develop "TGIF syndrome": they constantly want to know what day of the week it is. Let's write a program for them!
8
Gawain
Java Syntax,  antasaralin
Naka-lock
Number of days in the year
On Earth, a year lasts 365 or 366 days. The number of days is calculated according to the following formula: A leap year (366 days) is every year evenly divisible by 4, except for years that are multiples of 100 but not multiples of 400. We'll write a program that will determine whether the user has entered a leap-year or ordinary year from the keyboard.
4
Gawain
Java Syntax,  antasaralin
Naka-lock
Rule of the triangle
Can any three line segments be the sides of a triangle? You probably already guessed (or remembered from high-school geometry) that you can only have a triangle if the sum of the lengths of any two sides is greater than the length of the third side. Well, now we're going to write code to check whether 3 line segments are suitable for forming a triangle.
8
Gawain
Java Syntax,  antasaralin
Naka-lock
Crossing the road blindly
Let's say that we are certain that at the beginning of every hour our traffic light is green for 3 minutes, yellow for a minute, and then red for another minute. Then the sequence repeats. Our program must determine what light is on now (where "now" is a real number that indicates the number of minutes that have elapsed since the beginning of the hour).
4
Gawain
Java Syntax,  antasaralin
Naka-lock
Do we have a pair?
Suppose we have three numbers. Now let's imagine that they are not numbers, but people ... Actually, never mind about that. We don't need to make this weird. Let's just check if there is at least one pair of identical numbers among the three. If there is, we'll display it on the screen. And if the three numbers are the same, we'll display all three.
Mga komento
  • Sikat
  • Bago
  • Luma
Dapat kang naka-sign in upang mag-iwan ng komento
Wala pang komento ang page na ito